Skip to content
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

mutable state checksums part#2: persistence changes #2967

Merged
merged 5 commits into from
Jan 13, 2020

Conversation

venkat1109
Copy link
Contributor

This patch contains the cassandra persistence changes to support mutable state checksums. This is a follow up to #2941

@venkat1109 venkat1109 requested review from wxing1292 and a team January 9, 2020 16:19
@venkat1109 venkat1109 self-assigned this Jan 9, 2020
@@ -0,0 +1,8 @@
{
"CurrVersion": "0.24",
"MinCompatibleVersion": "0.23",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0.24?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change is backwards compatible with 0.23 and so this is set to 0.23

common/persistence/persistenceInterface.go Outdated Show resolved Hide resolved
common/persistence/cassandra/cassandraPersistenceUtil.go Outdated Show resolved Hide resolved
@@ -244,6 +246,7 @@ type (
SignalInfos map[int64]*SignalInfo
SignalRequestedIDs map[string]struct{}
BufferedEvents []*DataBlob
Checksum checksum.Checksum
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i would put checksum in a seperate group, e.g.

InternalWorkflowMutableState struct {
		ExecutionInfo    *InternalWorkflowExecutionInfo
		ReplicationState *ReplicationState
		VersionHistories *DataBlob

		ActivityInfos       map[int64]*InternalActivityInfo
		TimerInfos          map[string]*TimerInfo
		ChildExecutionInfos map[int64]*InternalChildExecutionInfo
		RequestCancelInfos  map[int64]*RequestCancelInfo
		SignalInfos         map[int64]*SignalInfo
		SignalRequestedIDs  map[string]struct{}
		BufferedEvents      []*DataBlob

		Checksum            checksum.Checksum
}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume this is simply personal preference. In general, this is something that is not auto enforcable by gofmt etc. And so, over time, your personal preference for grouping this separately is not sustainable. I will group this separately for now. But philosophically, I am not a big fan these type of semi-enforced groupings (unless there is strong reasons like struct packing in C/C++)

common/persistence/persistenceInterface.go Outdated Show resolved Hide resolved
common/persistence/persistenceInterface.go Outdated Show resolved Hide resolved
@wxing1292
Copy link
Contributor

one more thing, where is the impl for SQL?

@coveralls
Copy link

coveralls commented Jan 10, 2020

Coverage Status

Coverage increased (+0.02%) to 67.982% when pulling 178ad52 on venkat1109:v_ms_crc_db into 95786aa on uber:master.

@venkat1109
Copy link
Contributor Author

one more thing, where is the impl for SQL?
SQL is currently not supported. I will consider adding support for it after rolling this out. There will be a github task created though for anyone to pick that up.

@venkat1109 venkat1109 requested a review from a team January 13, 2020 18:31
@venkat1109 venkat1109 merged commit 44cdb75 into uber:master Jan 13, 2020
@venkat1109 venkat1109 deleted the v_ms_crc_db branch January 13, 2020 19:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants