-
Notifications
You must be signed in to change notification settings - Fork 891
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
Pass task queue types to Describe and take unecessary info out of TaskQueueFamilyData #7234
base: versioning-3.1
Are you sure you want to change the base?
Conversation
proto/internal/temporal/server/api/persistence/v1/task_queues.proto
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.
approved, but with a comment or two
proto/internal/temporal/server/api/persistence/v1/task_queues.proto
Outdated
Show resolved
Hide resolved
for tqName, byType := range state.TaskQueueFamilies { | ||
for tqType, oldData := range byType.TaskQueues { | ||
|
||
syncReq.Sync = append(syncReq.Sync, &deploymentspb.SyncDeploymentVersionUserDataRequest_SyncUserData{ | ||
Name: tqName, | ||
Type: enumspb.TaskQueueType(tqType), | ||
Data: oldData, | ||
}) | ||
} | ||
} |
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.
I seem to be missing something here - why are we removing this piece of code? According to me, when forgetting a version, we still have to specify the task-queues and the types from where the version would be forgotten from - this piece of code seems to be doing that
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.
I got confused, just meant to remove the data part. Fixing
What changed?
CheckIfTaskQueuesHavePollers
activity so that we check pollers for only the task queue types that are registered in that version.DeploymentVersionData
from the per-type map inTaskQueueFamilyData
.DeploymentVersionData
stores the same info asVersionLocalState
, so repeating it num_task_queue times inside the VersionLocalState was a waste of space, and kind of confusing. I spoke with Shahab yesterday about howTaskQueueFamilyData
should contain information that is specific to each task queue type within that version. So far, the only data that is specific to the version + task queue tuple isfirst_poller_time
, so I put that in a newTaskQueueVersionData
struct and put it inTaskQueueFamilyData
.Why?
See explanation above.
How did you test it?
Tested that the existing Versioning 3.1 functional tests still work.
Potential risks
Documentation
Is hotfix candidate?