Files
tasks/api/taskqueue/v1/message.go-helpers.pb.go
David ReissandAlan Wu e297d96384 Forward polls from sticky partitions to high-priority backlog (#8925)
## What changed?
- Add "ephemeral data" propagated alongside user data.
- Include information about which priority levels have significant
backlog in ephemeral data (currently only propagated down the tree, not
up)
- When sticky partitions see that normal partitions have significant
backlog, set up poll forwarders to forward to those partitions.
- The poll forwarders use min priority to ensure they only get
higher-priority tasks than available local tasks.

## Why?
Without this functionality, sticky queues interfere with priority
dispatch by keeping most of the pollers working on sticky tasks and
potentially starving high-priority tasks that appear on the normal
queue. With the default values of the new settings, sticky pollers
should notice high-priority normal tasks within 10 seconds.

## How did you test it?
- [ ] built
- [ ] run locally and tested manually
- [ ] covered by existing tests
- [x] added new unit test(s)
- [x] added new functional test(s)

## Potential risks
- Clients have to accept that polls on sticky may return normal tasks. I
believe all SDKs are fine with this.
- Increased overhead of user data + ephemeral data.
2026-02-11 20:02:31 -05:00

377 lines
10 KiB
Go

// Code generated by protoc-gen-go-helpers. DO NOT EDIT.
package taskqueue
import (
"google.golang.org/protobuf/proto"
)
// Marshal an object of type TaskVersionDirective to the protobuf v3 wire format
func (val *TaskVersionDirective) Marshal() ([]byte, error) {
return proto.Marshal(val)
}
// Unmarshal an object of type TaskVersionDirective from the protobuf v3 wire format
func (val *TaskVersionDirective) Unmarshal(buf []byte) error {
return proto.Unmarshal(buf, val)
}
// Size returns the size of the object, in bytes, once serialized
func (val *TaskVersionDirective) Size() int {
return proto.Size(val)
}
// Equal returns whether two TaskVersionDirective values are equivalent by recursively
// comparing the message's fields.
// For more information see the documentation for
// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal
func (this *TaskVersionDirective) Equal(that interface{}) bool {
if that == nil {
return this == nil
}
var that1 *TaskVersionDirective
switch t := that.(type) {
case *TaskVersionDirective:
that1 = t
case TaskVersionDirective:
that1 = &t
default:
return false
}
return proto.Equal(this, that1)
}
// Marshal an object of type FairLevel to the protobuf v3 wire format
func (val *FairLevel) Marshal() ([]byte, error) {
return proto.Marshal(val)
}
// Unmarshal an object of type FairLevel from the protobuf v3 wire format
func (val *FairLevel) Unmarshal(buf []byte) error {
return proto.Unmarshal(buf, val)
}
// Size returns the size of the object, in bytes, once serialized
func (val *FairLevel) Size() int {
return proto.Size(val)
}
// Equal returns whether two FairLevel values are equivalent by recursively
// comparing the message's fields.
// For more information see the documentation for
// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal
func (this *FairLevel) Equal(that interface{}) bool {
if that == nil {
return this == nil
}
var that1 *FairLevel
switch t := that.(type) {
case *FairLevel:
that1 = t
case FairLevel:
that1 = &t
default:
return false
}
return proto.Equal(this, that1)
}
// Marshal an object of type InternalTaskQueueStatus to the protobuf v3 wire format
func (val *InternalTaskQueueStatus) Marshal() ([]byte, error) {
return proto.Marshal(val)
}
// Unmarshal an object of type InternalTaskQueueStatus from the protobuf v3 wire format
func (val *InternalTaskQueueStatus) Unmarshal(buf []byte) error {
return proto.Unmarshal(buf, val)
}
// Size returns the size of the object, in bytes, once serialized
func (val *InternalTaskQueueStatus) Size() int {
return proto.Size(val)
}
// Equal returns whether two InternalTaskQueueStatus values are equivalent by recursively
// comparing the message's fields.
// For more information see the documentation for
// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal
func (this *InternalTaskQueueStatus) Equal(that interface{}) bool {
if that == nil {
return this == nil
}
var that1 *InternalTaskQueueStatus
switch t := that.(type) {
case *InternalTaskQueueStatus:
that1 = t
case InternalTaskQueueStatus:
that1 = &t
default:
return false
}
return proto.Equal(this, that1)
}
// Marshal an object of type TaskQueueVersionInfoInternal to the protobuf v3 wire format
func (val *TaskQueueVersionInfoInternal) Marshal() ([]byte, error) {
return proto.Marshal(val)
}
// Unmarshal an object of type TaskQueueVersionInfoInternal from the protobuf v3 wire format
func (val *TaskQueueVersionInfoInternal) Unmarshal(buf []byte) error {
return proto.Unmarshal(buf, val)
}
// Size returns the size of the object, in bytes, once serialized
func (val *TaskQueueVersionInfoInternal) Size() int {
return proto.Size(val)
}
// Equal returns whether two TaskQueueVersionInfoInternal values are equivalent by recursively
// comparing the message's fields.
// For more information see the documentation for
// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal
func (this *TaskQueueVersionInfoInternal) Equal(that interface{}) bool {
if that == nil {
return this == nil
}
var that1 *TaskQueueVersionInfoInternal
switch t := that.(type) {
case *TaskQueueVersionInfoInternal:
that1 = t
case TaskQueueVersionInfoInternal:
that1 = &t
default:
return false
}
return proto.Equal(this, that1)
}
// Marshal an object of type PhysicalTaskQueueInfo to the protobuf v3 wire format
func (val *PhysicalTaskQueueInfo) Marshal() ([]byte, error) {
return proto.Marshal(val)
}
// Unmarshal an object of type PhysicalTaskQueueInfo from the protobuf v3 wire format
func (val *PhysicalTaskQueueInfo) Unmarshal(buf []byte) error {
return proto.Unmarshal(buf, val)
}
// Size returns the size of the object, in bytes, once serialized
func (val *PhysicalTaskQueueInfo) Size() int {
return proto.Size(val)
}
// Equal returns whether two PhysicalTaskQueueInfo values are equivalent by recursively
// comparing the message's fields.
// For more information see the documentation for
// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal
func (this *PhysicalTaskQueueInfo) Equal(that interface{}) bool {
if that == nil {
return this == nil
}
var that1 *PhysicalTaskQueueInfo
switch t := that.(type) {
case *PhysicalTaskQueueInfo:
that1 = t
case PhysicalTaskQueueInfo:
that1 = &t
default:
return false
}
return proto.Equal(this, that1)
}
// Marshal an object of type TaskQueuePartition to the protobuf v3 wire format
func (val *TaskQueuePartition) Marshal() ([]byte, error) {
return proto.Marshal(val)
}
// Unmarshal an object of type TaskQueuePartition from the protobuf v3 wire format
func (val *TaskQueuePartition) Unmarshal(buf []byte) error {
return proto.Unmarshal(buf, val)
}
// Size returns the size of the object, in bytes, once serialized
func (val *TaskQueuePartition) Size() int {
return proto.Size(val)
}
// Equal returns whether two TaskQueuePartition values are equivalent by recursively
// comparing the message's fields.
// For more information see the documentation for
// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal
func (this *TaskQueuePartition) Equal(that interface{}) bool {
if that == nil {
return this == nil
}
var that1 *TaskQueuePartition
switch t := that.(type) {
case *TaskQueuePartition:
that1 = t
case TaskQueuePartition:
that1 = &t
default:
return false
}
return proto.Equal(this, that1)
}
// Marshal an object of type BuildIdRedirectInfo to the protobuf v3 wire format
func (val *BuildIdRedirectInfo) Marshal() ([]byte, error) {
return proto.Marshal(val)
}
// Unmarshal an object of type BuildIdRedirectInfo from the protobuf v3 wire format
func (val *BuildIdRedirectInfo) Unmarshal(buf []byte) error {
return proto.Unmarshal(buf, val)
}
// Size returns the size of the object, in bytes, once serialized
func (val *BuildIdRedirectInfo) Size() int {
return proto.Size(val)
}
// Equal returns whether two BuildIdRedirectInfo values are equivalent by recursively
// comparing the message's fields.
// For more information see the documentation for
// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal
func (this *BuildIdRedirectInfo) Equal(that interface{}) bool {
if that == nil {
return this == nil
}
var that1 *BuildIdRedirectInfo
switch t := that.(type) {
case *BuildIdRedirectInfo:
that1 = t
case BuildIdRedirectInfo:
that1 = &t
default:
return false
}
return proto.Equal(this, that1)
}
// Marshal an object of type TaskForwardInfo to the protobuf v3 wire format
func (val *TaskForwardInfo) Marshal() ([]byte, error) {
return proto.Marshal(val)
}
// Unmarshal an object of type TaskForwardInfo from the protobuf v3 wire format
func (val *TaskForwardInfo) Unmarshal(buf []byte) error {
return proto.Unmarshal(buf, val)
}
// Size returns the size of the object, in bytes, once serialized
func (val *TaskForwardInfo) Size() int {
return proto.Size(val)
}
// Equal returns whether two TaskForwardInfo values are equivalent by recursively
// comparing the message's fields.
// For more information see the documentation for
// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal
func (this *TaskForwardInfo) Equal(that interface{}) bool {
if that == nil {
return this == nil
}
var that1 *TaskForwardInfo
switch t := that.(type) {
case *TaskForwardInfo:
that1 = t
case TaskForwardInfo:
that1 = &t
default:
return false
}
return proto.Equal(this, that1)
}
// Marshal an object of type EphemeralData to the protobuf v3 wire format
func (val *EphemeralData) Marshal() ([]byte, error) {
return proto.Marshal(val)
}
// Unmarshal an object of type EphemeralData from the protobuf v3 wire format
func (val *EphemeralData) Unmarshal(buf []byte) error {
return proto.Unmarshal(buf, val)
}
// Size returns the size of the object, in bytes, once serialized
func (val *EphemeralData) Size() int {
return proto.Size(val)
}
// Equal returns whether two EphemeralData values are equivalent by recursively
// comparing the message's fields.
// For more information see the documentation for
// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal
func (this *EphemeralData) Equal(that interface{}) bool {
if that == nil {
return this == nil
}
var that1 *EphemeralData
switch t := that.(type) {
case *EphemeralData:
that1 = t
case EphemeralData:
that1 = &t
default:
return false
}
return proto.Equal(this, that1)
}
// Marshal an object of type VersionedEphemeralData to the protobuf v3 wire format
func (val *VersionedEphemeralData) Marshal() ([]byte, error) {
return proto.Marshal(val)
}
// Unmarshal an object of type VersionedEphemeralData from the protobuf v3 wire format
func (val *VersionedEphemeralData) Unmarshal(buf []byte) error {
return proto.Unmarshal(buf, val)
}
// Size returns the size of the object, in bytes, once serialized
func (val *VersionedEphemeralData) Size() int {
return proto.Size(val)
}
// Equal returns whether two VersionedEphemeralData values are equivalent by recursively
// comparing the message's fields.
// For more information see the documentation for
// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal
func (this *VersionedEphemeralData) Equal(that interface{}) bool {
if that == nil {
return this == nil
}
var that1 *VersionedEphemeralData
switch t := that.(type) {
case *VersionedEphemeralData:
that1 = t
case VersionedEphemeralData:
that1 = &t
default:
return false
}
return proto.Equal(this, that1)
}