From 752c37b314eec6a879f5d932d0aedd949aea7fe1 Mon Sep 17 00:00:00 2001 From: wenquan xing Date: Thu, 11 May 2023 13:16:00 -0700 Subject: [PATCH] Revert "Adds update state indexing to MutableState (#4224)" This reverts commit 5783e781504d8ffac59f9848b830868f3139b980. --- api/history/v1/message.pb.go | 273 +----- api/persistence/v1/executions.pb.go | 917 +++++------------- .../v1/workflow_mutable_state.pb.go | 302 +----- .../cassandra/mutable_state_store.go | 39 - common/persistence/cassandra/util.go | 99 -- common/persistence/dataInterfaces.go | 3 - common/persistence/execution_manager.go | 27 - common/persistence/persistenceInterface.go | 4 - .../persistence/serialization/serializer.go | 12 - common/persistence/sql/execution.go | 11 - common/persistence/sql/execution_state_map.go | 90 -- common/persistence/sql/execution_util.go | 46 - .../sql/sqlplugin/history_info_records.go | 72 -- .../persistence/sql/sqlplugin/interfaces.go | 1 - .../sql/sqlplugin/mysql/execution_maps.go | 86 -- .../sqlplugin/postgresql/execution_maps.go | 86 -- .../sql/sqlplugin/sqlite/execution_maps.go | 86 -- .../tests/execution_mutable_state.go | 19 +- common/persistence/tests/util.go | 25 - .../server/api/history/v1/message.proto | 4 - .../api/persistence/v1/executions.proto | 9 - .../v1/workflow_mutable_state.proto | 2 - schema/cassandra/temporal/schema.cql | 2 - .../temporal/versioned/v1.8/executions.cql | 2 - .../temporal/versioned/v1.8/manifest.json | 8 - schema/cassandra/version.go | 2 +- schema/mysql/v57/temporal/schema.sql | 13 - .../temporal/versioned/v1.10/manifest.json | 8 - .../v1.10/update_info_maps_table.sql | 12 - schema/mysql/v8/temporal/schema.sql | 13 - .../v8/temporal/versioned/v1.10/manifest.json | 8 - .../v1.10/update_info_maps_table.sql | 12 - schema/postgresql/v12/temporal/schema.sql | 15 +- .../temporal/versioned/v1.10/manifest.json | 8 - .../v1.10/update_info_maps_table.sql | 12 - schema/postgresql/v12/version.go | 2 +- schema/postgresql/v96/temporal/schema.sql | 15 +- .../temporal/versioned/v1.10/manifest.json | 8 - .../v1.10/update_info_maps_table.sql | 12 - schema/postgresql/v96/version.go | 2 +- schema/sqlite/v3/temporal/schema.sql | 12 - service/history/workflow/mutable_state.go | 4 - .../history/workflow/mutable_state_impl.go | 101 +- .../workflow/mutable_state_impl_test.go | 68 +- .../history/workflow/mutable_state_mock.go | 58 -- .../workflow/mutable_state_rebuilder.go | 17 +- .../workflow/mutable_state_rebuilder_test.go | 70 +- service/history/workflow/test_util.go | 37 - 48 files changed, 343 insertions(+), 2391 deletions(-) delete mode 100644 common/persistence/sql/sqlplugin/history_info_records.go delete mode 100644 schema/cassandra/temporal/versioned/v1.8/executions.cql delete mode 100644 schema/cassandra/temporal/versioned/v1.8/manifest.json delete mode 100644 schema/mysql/v57/temporal/versioned/v1.10/manifest.json delete mode 100644 schema/mysql/v57/temporal/versioned/v1.10/update_info_maps_table.sql delete mode 100644 schema/mysql/v8/temporal/versioned/v1.10/manifest.json delete mode 100644 schema/mysql/v8/temporal/versioned/v1.10/update_info_maps_table.sql delete mode 100644 schema/postgresql/v12/temporal/versioned/v1.10/manifest.json delete mode 100644 schema/postgresql/v12/temporal/versioned/v1.10/update_info_maps_table.sql delete mode 100644 schema/postgresql/v96/temporal/versioned/v1.10/manifest.json delete mode 100644 schema/postgresql/v96/temporal/versioned/v1.10/update_info_maps_table.sql diff --git a/api/history/v1/message.pb.go b/api/history/v1/message.pb.go index f2c61c63297..14caef6fa24 100644 --- a/api/history/v1/message.pb.go +++ b/api/history/v1/message.pb.go @@ -358,49 +358,6 @@ func (m *TaskRange) GetExclusiveMaxTaskKey() *TaskKey { return nil } -type HistoryEventPointer struct { - EventId int64 `protobuf:"varint,1,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"` -} - -func (m *HistoryEventPointer) Reset() { *m = HistoryEventPointer{} } -func (*HistoryEventPointer) ProtoMessage() {} -func (*HistoryEventPointer) Descriptor() ([]byte, []int) { - return fileDescriptor_670cd05c700ece14, []int{6} -} -func (m *HistoryEventPointer) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *HistoryEventPointer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_HistoryEventPointer.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *HistoryEventPointer) XXX_Merge(src proto.Message) { - xxx_messageInfo_HistoryEventPointer.Merge(m, src) -} -func (m *HistoryEventPointer) XXX_Size() int { - return m.Size() -} -func (m *HistoryEventPointer) XXX_DiscardUnknown() { - xxx_messageInfo_HistoryEventPointer.DiscardUnknown(m) -} - -var xxx_messageInfo_HistoryEventPointer proto.InternalMessageInfo - -func (m *HistoryEventPointer) GetEventId() int64 { - if m != nil { - return m.EventId - } - return 0 -} - func init() { proto.RegisterType((*TransientWorkflowTaskInfo)(nil), "temporal.server.api.history.v1.TransientWorkflowTaskInfo") proto.RegisterType((*VersionHistoryItem)(nil), "temporal.server.api.history.v1.VersionHistoryItem") @@ -408,7 +365,6 @@ func init() { proto.RegisterType((*VersionHistories)(nil), "temporal.server.api.history.v1.VersionHistories") proto.RegisterType((*TaskKey)(nil), "temporal.server.api.history.v1.TaskKey") proto.RegisterType((*TaskRange)(nil), "temporal.server.api.history.v1.TaskRange") - proto.RegisterType((*HistoryEventPointer)(nil), "temporal.server.api.history.v1.HistoryEventPointer") } func init() { @@ -416,44 +372,43 @@ func init() { } var fileDescriptor_670cd05c700ece14 = []byte{ - // 590 bytes of a gzipped FileDescriptorProto + // 575 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0x41, 0x4b, 0x1b, 0x41, - 0x14, 0xc7, 0x33, 0x89, 0x9a, 0x38, 0xb1, 0x22, 0x2b, 0xd8, 0x18, 0xe8, 0xa8, 0x0b, 0x52, 0x0f, - 0x32, 0x5b, 0xd3, 0x63, 0xe9, 0xa1, 0x42, 0xc1, 0x58, 0x85, 0xb2, 0x0d, 0x2d, 0x14, 0x61, 0x99, - 0x24, 0x2f, 0xeb, 0x90, 0xec, 0x4c, 0x98, 0xd9, 0xa4, 0xf1, 0x50, 0xe8, 0x47, 0xf0, 0x3b, 0xf4, - 0xd2, 0x6f, 0xd2, 0x1e, 0x3d, 0x7a, 0x6b, 0x5d, 0x2f, 0x3d, 0xfa, 0x11, 0xca, 0xce, 0xce, 0x26, - 0xb5, 0x2d, 0x16, 0x6f, 0x33, 0x6f, 0xfe, 0xef, 0x37, 0xff, 0x37, 0xef, 0x31, 0x78, 0x37, 0x86, - 0x68, 0x28, 0x15, 0x1b, 0x78, 0x1a, 0xd4, 0x18, 0x94, 0xc7, 0x86, 0xdc, 0x3b, 0xe5, 0x3a, 0x96, - 0xea, 0xcc, 0x1b, 0xef, 0x79, 0x11, 0x68, 0xcd, 0x42, 0xa0, 0x43, 0x25, 0x63, 0xe9, 0x90, 0x5c, - 0x4d, 0x33, 0x35, 0x65, 0x43, 0x4e, 0xad, 0x9a, 0x8e, 0xf7, 0xea, 0x1b, 0xa1, 0x94, 0xe1, 0x00, - 0x3c, 0xa3, 0x6e, 0x8f, 0x7a, 0x5e, 0xcc, 0x23, 0xd0, 0x31, 0x8b, 0x86, 0x19, 0xa0, 0xbe, 0xd5, - 0x85, 0x21, 0x88, 0x2e, 0x88, 0x0e, 0x07, 0xed, 0x85, 0x32, 0x94, 0x26, 0x6e, 0x56, 0x56, 0xb2, - 0x3d, 0x75, 0x74, 0x97, 0x15, 0x77, 0x84, 0xd7, 0x5b, 0x8a, 0x09, 0xcd, 0x41, 0xc4, 0xef, 0xa4, - 0xea, 0xf7, 0x06, 0xf2, 0x43, 0x8b, 0xe9, 0x7e, 0x53, 0xf4, 0xa4, 0x73, 0x84, 0x97, 0x6d, 0x62, - 0xa0, 0x47, 0xbd, 0x1e, 0x9f, 0xd4, 0x4a, 0x9b, 0xa5, 0x9d, 0x6a, 0x63, 0x9b, 0x4e, 0x0b, 0xb8, - 0xed, 0x9c, 0x1e, 0x64, 0xcb, 0x97, 0x63, 0x10, 0xb1, 0xff, 0xc0, 0x1e, 0xbc, 0x31, 0xb9, 0x87, - 0x73, 0x15, 0xb4, 0x52, 0x3c, 0x9c, 0xab, 0x14, 0x57, 0x4a, 0x6e, 0x13, 0x3b, 0x6f, 0x41, 0x69, - 0x2e, 0x85, 0xcd, 0x68, 0xc6, 0x10, 0x39, 0xeb, 0xb8, 0x02, 0x69, 0x66, 0xc0, 0xbb, 0x35, 0xb4, - 0x89, 0x76, 0x4a, 0x7e, 0xd9, 0xec, 0x9b, 0x5d, 0xa7, 0x86, 0xcb, 0xe3, 0x2c, 0xa1, 0x56, 0xcc, - 0x4e, 0xec, 0xd6, 0xfd, 0x88, 0x97, 0x6f, 0xa3, 0x9c, 0x2d, 0xbc, 0xd4, 0x56, 0x4c, 0x74, 0x4e, - 0x83, 0x58, 0xf6, 0x41, 0x18, 0xd4, 0x92, 0x5f, 0xcd, 0x62, 0xad, 0x34, 0xe4, 0x1c, 0xe0, 0x79, - 0x1e, 0x43, 0xa4, 0x6b, 0x45, 0x53, 0x50, 0x83, 0xde, 0xdd, 0x11, 0xfa, 0xb7, 0x59, 0x3f, 0x03, - 0xb8, 0x9f, 0x11, 0x5e, 0xb9, 0x75, 0xca, 0x41, 0x3b, 0x2f, 0xf0, 0xa3, 0xce, 0x48, 0xa9, 0xb4, - 0x14, 0x6b, 0x33, 0xc8, 0x1f, 0x92, 0x8b, 0x2e, 0x4c, 0x8c, 0xa5, 0x79, 0xbf, 0x6e, 0x45, 0x7f, - 0xd0, 0x53, 0x85, 0x73, 0x84, 0x17, 0x4f, 0x73, 0x9e, 0x75, 0x49, 0xef, 0xe7, 0xd2, 0x9f, 0x01, - 0x5c, 0x86, 0xcb, 0x69, 0x57, 0x5f, 0xc1, 0x99, 0xf3, 0x10, 0x97, 0x63, 0xa6, 0xfb, 0xb3, 0x37, - 0x5e, 0x48, 0xb7, 0xcd, 0xae, 0xf3, 0x1c, 0x2f, 0xf6, 0xb8, 0x82, 0x20, 0x1d, 0x36, 0xf3, 0xc8, - 0xd5, 0x46, 0x9d, 0x66, 0x93, 0x48, 0xf3, 0x49, 0xa4, 0xad, 0x7c, 0x12, 0xf7, 0xe7, 0xce, 0xbf, - 0x6f, 0x20, 0xbf, 0x92, 0xa6, 0xa4, 0x41, 0xf7, 0x2b, 0xc2, 0x8b, 0xe9, 0x1d, 0x3e, 0x13, 0x21, - 0x38, 0x27, 0x78, 0x8d, 0x8b, 0xce, 0x60, 0xa4, 0xf9, 0x18, 0x82, 0x88, 0x8b, 0xc0, 0xdc, 0xd9, - 0x87, 0x33, 0x73, 0x69, 0xb5, 0xf1, 0xf8, 0x7f, 0xb5, 0x58, 0xbb, 0xfe, 0xea, 0x14, 0x73, 0xcc, - 0x45, 0x5e, 0xc3, 0x09, 0x5e, 0x83, 0xc9, 0x94, 0xce, 0x26, 0x33, 0x7a, 0xf1, 0x9e, 0xf4, 0x29, - 0xe6, 0x98, 0x4d, 0x6c, 0xd0, 0x7d, 0x82, 0x57, 0x7f, 0x9f, 0xe3, 0xd7, 0x92, 0x8b, 0x18, 0xd4, - 0x1d, 0xd3, 0xb9, 0xdf, 0xbe, 0xb8, 0x22, 0x85, 0xcb, 0x2b, 0x52, 0xb8, 0xb9, 0x22, 0xe8, 0x53, - 0x42, 0xd0, 0x97, 0x84, 0xa0, 0x6f, 0x09, 0x41, 0x17, 0x09, 0x41, 0x3f, 0x12, 0x82, 0x7e, 0x26, - 0xa4, 0x70, 0x93, 0x10, 0x74, 0x7e, 0x4d, 0x0a, 0x17, 0xd7, 0xa4, 0x70, 0x79, 0x4d, 0x0a, 0xef, - 0x77, 0x43, 0x39, 0xf3, 0xc9, 0xe5, 0xbf, 0xbf, 0x8e, 0x67, 0x76, 0xd9, 0x5e, 0x30, 0x3d, 0x78, - 0xfa, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xeb, 0x9b, 0x7d, 0x47, 0x6b, 0x04, 0x00, 0x00, + 0x14, 0xc7, 0x33, 0x89, 0x9a, 0x38, 0xb1, 0x22, 0x53, 0xb0, 0x31, 0xd0, 0x51, 0x03, 0x52, 0x0f, + 0x32, 0x8b, 0xe9, 0xb1, 0xf4, 0x50, 0xa1, 0x60, 0xac, 0x5e, 0xb6, 0xa1, 0x85, 0x22, 0x2c, 0x93, + 0xe4, 0x65, 0x1d, 0x92, 0x9d, 0x09, 0x33, 0x9b, 0x34, 0x1e, 0x0a, 0xfd, 0x08, 0x7e, 0x87, 0x5e, + 0xfa, 0x4d, 0xda, 0xa3, 0x47, 0x6f, 0xad, 0xeb, 0xa5, 0x47, 0x3f, 0x42, 0xd9, 0xd9, 0xd9, 0x04, + 0xdb, 0x62, 0xf1, 0x36, 0xf3, 0xe6, 0xff, 0x7e, 0xef, 0xff, 0xde, 0x3e, 0x16, 0xef, 0xc5, 0x10, + 0x8d, 0x94, 0xe6, 0x43, 0xcf, 0x80, 0x9e, 0x80, 0xf6, 0xf8, 0x48, 0x78, 0x67, 0xc2, 0xc4, 0x4a, + 0x9f, 0x7b, 0x93, 0x7d, 0x2f, 0x02, 0x63, 0x78, 0x08, 0x6c, 0xa4, 0x55, 0xac, 0x08, 0xcd, 0xd5, + 0x2c, 0x53, 0x33, 0x3e, 0x12, 0xcc, 0xa9, 0xd9, 0x64, 0xbf, 0xbe, 0x19, 0x2a, 0x15, 0x0e, 0xc1, + 0xb3, 0xea, 0xce, 0xb8, 0xef, 0xc5, 0x22, 0x02, 0x13, 0xf3, 0x68, 0x94, 0x01, 0xea, 0xdb, 0x3d, + 0x18, 0x81, 0xec, 0x81, 0xec, 0x0a, 0x30, 0x5e, 0xa8, 0x42, 0x65, 0xe3, 0xf6, 0xe4, 0x24, 0x3b, + 0x33, 0x47, 0xf7, 0x59, 0x69, 0x8c, 0xf1, 0x46, 0x5b, 0x73, 0x69, 0x04, 0xc8, 0xf8, 0xbd, 0xd2, + 0x83, 0xfe, 0x50, 0x7d, 0x6c, 0x73, 0x33, 0x68, 0xc9, 0xbe, 0x22, 0xc7, 0x78, 0xd5, 0x25, 0x06, + 0x66, 0xdc, 0xef, 0x8b, 0x69, 0xad, 0xb4, 0x55, 0xda, 0xad, 0x36, 0x77, 0xd8, 0xac, 0x81, 0xbb, + 0xce, 0xd9, 0x61, 0x76, 0x7c, 0x3d, 0x01, 0x19, 0xfb, 0x8f, 0xdc, 0xc3, 0x5b, 0x9b, 0x7b, 0xb4, + 0x50, 0x41, 0x6b, 0xc5, 0xa3, 0x85, 0x4a, 0x71, 0xad, 0xd4, 0x68, 0x61, 0xf2, 0x0e, 0xb4, 0x11, + 0x4a, 0xba, 0x8c, 0x56, 0x0c, 0x11, 0xd9, 0xc0, 0x15, 0x48, 0x33, 0x03, 0xd1, 0xab, 0xa1, 0x2d, + 0xb4, 0x5b, 0xf2, 0xcb, 0xf6, 0xde, 0xea, 0x91, 0x1a, 0x2e, 0x4f, 0xb2, 0x84, 0x5a, 0x31, 0x7b, + 0x71, 0xd7, 0xc6, 0x27, 0xbc, 0x7a, 0x17, 0x45, 0xb6, 0xf1, 0x4a, 0x47, 0x73, 0xd9, 0x3d, 0x0b, + 0x62, 0x35, 0x00, 0x69, 0x51, 0x2b, 0x7e, 0x35, 0x8b, 0xb5, 0xd3, 0x10, 0x39, 0xc4, 0x8b, 0x22, + 0x86, 0xc8, 0xd4, 0x8a, 0xb6, 0xa1, 0x26, 0xbb, 0xff, 0x8b, 0xb0, 0xbf, 0xcd, 0xfa, 0x19, 0xa0, + 0xf1, 0x05, 0xe1, 0xb5, 0x3b, 0xaf, 0x02, 0x0c, 0x79, 0x85, 0x9f, 0x76, 0xc7, 0x5a, 0xa7, 0xad, + 0x38, 0x9b, 0x41, 0x3e, 0x48, 0x21, 0x7b, 0x30, 0xb5, 0x96, 0x16, 0xfd, 0xba, 0x13, 0xfd, 0x41, + 0x4f, 0x15, 0xe4, 0x18, 0x2f, 0x9f, 0xe5, 0x3c, 0xe7, 0x92, 0x3d, 0xcc, 0xa5, 0x3f, 0x07, 0x34, + 0x38, 0x2e, 0xa7, 0x5f, 0xf5, 0x0d, 0x9c, 0x93, 0x27, 0xb8, 0x1c, 0x73, 0x33, 0x98, 0xcf, 0x78, + 0x29, 0xbd, 0xb6, 0x7a, 0xe4, 0x25, 0x5e, 0xee, 0x0b, 0x0d, 0x41, 0xba, 0x6c, 0x76, 0xc8, 0xd5, + 0x66, 0x9d, 0x65, 0x9b, 0xc8, 0xf2, 0x4d, 0x64, 0xed, 0x7c, 0x13, 0x0f, 0x16, 0x2e, 0x7e, 0x6c, + 0x22, 0xbf, 0x92, 0xa6, 0xa4, 0xc1, 0xc6, 0x37, 0x84, 0x97, 0xd3, 0x1a, 0x3e, 0x97, 0x21, 0x90, + 0x53, 0xbc, 0x2e, 0x64, 0x77, 0x38, 0x36, 0x62, 0x02, 0x41, 0x24, 0x64, 0x60, 0x6b, 0x0e, 0xe0, + 0xdc, 0x16, 0xad, 0x36, 0x9f, 0xfd, 0xaf, 0x17, 0x67, 0xd7, 0x7f, 0x3c, 0xc3, 0x9c, 0x08, 0x99, + 0xf7, 0x70, 0x8a, 0xd7, 0x61, 0x3a, 0xa3, 0xf3, 0xe9, 0x9c, 0x5e, 0x7c, 0x20, 0x7d, 0x86, 0x39, + 0xe1, 0x53, 0x17, 0x3c, 0xe8, 0x5c, 0x5e, 0xd3, 0xc2, 0xd5, 0x35, 0x2d, 0xdc, 0x5e, 0x53, 0xf4, + 0x39, 0xa1, 0xe8, 0x6b, 0x42, 0xd1, 0xf7, 0x84, 0xa2, 0xcb, 0x84, 0xa2, 0x9f, 0x09, 0x45, 0xbf, + 0x12, 0x5a, 0xb8, 0x4d, 0x28, 0xba, 0xb8, 0xa1, 0x85, 0xcb, 0x1b, 0x5a, 0xb8, 0xba, 0xa1, 0x85, + 0x0f, 0x7b, 0xa1, 0x9a, 0x57, 0x15, 0xea, 0xdf, 0x3f, 0x82, 0x17, 0xee, 0xd8, 0x59, 0xb2, 0x13, + 0x7d, 0xfe, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x70, 0x3d, 0xee, 0x87, 0x39, 0x04, 0x00, 0x00, } func (this *TransientWorkflowTaskInfo) Equal(that interface{}) bool { @@ -634,30 +589,6 @@ func (this *TaskRange) Equal(that interface{}) bool { } return true } -func (this *HistoryEventPointer) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - that1, ok := that.(*HistoryEventPointer) - if !ok { - that2, ok := that.(HistoryEventPointer) - if ok { - that1 = &that2 - } else { - return false - } - } - if that1 == nil { - return this == nil - } else if this == nil { - return false - } - if this.EventId != that1.EventId { - return false - } - return true -} func (this *TransientWorkflowTaskInfo) GoString() string { if this == nil { return "nil" @@ -733,16 +664,6 @@ func (this *TaskRange) GoString() string { s = append(s, "}") return strings.Join(s, "") } -func (this *HistoryEventPointer) GoString() string { - if this == nil { - return "nil" - } - s := make([]string, 0, 5) - s = append(s, "&history.HistoryEventPointer{") - s = append(s, "EventId: "+fmt.Sprintf("%#v", this.EventId)+",\n") - s = append(s, "}") - return strings.Join(s, "") -} func valueToGoStringMessage(v interface{}, typ string) string { rv := reflect.ValueOf(v) if rv.IsNil() { @@ -992,34 +913,6 @@ func (m *TaskRange) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *HistoryEventPointer) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *HistoryEventPointer) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *HistoryEventPointer) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.EventId != 0 { - i = encodeVarintMessage(dAtA, i, uint64(m.EventId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - func encodeVarintMessage(dAtA []byte, offset int, v uint64) int { offset -= sovMessage(v) base := offset @@ -1131,18 +1024,6 @@ func (m *TaskRange) Size() (n int) { return n } -func (m *HistoryEventPointer) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.EventId != 0 { - n += 1 + sovMessage(uint64(m.EventId)) - } - return n -} - func sovMessage(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -1229,16 +1110,6 @@ func (this *TaskRange) String() string { }, "") return s } -func (this *HistoryEventPointer) String() string { - if this == nil { - return "nil" - } - s := strings.Join([]string{`&HistoryEventPointer{`, - `EventId:` + fmt.Sprintf("%v", this.EventId) + `,`, - `}`, - }, "") - return s -} func valueToStringMessage(v interface{}) string { rv := reflect.ValueOf(v) if rv.IsNil() { @@ -1885,78 +1756,6 @@ func (m *TaskRange) Unmarshal(dAtA []byte) error { } return nil } -func (m *HistoryEventPointer) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowMessage - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: HistoryEventPointer: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: HistoryEventPointer: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field EventId", wireType) - } - m.EventId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowMessage - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.EventId |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipMessage(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthMessage - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthMessage - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func skipMessage(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/api/persistence/v1/executions.pb.go b/api/persistence/v1/executions.pb.go index 15dc0439144..0180a233e64 100644 --- a/api/persistence/v1/executions.pb.go +++ b/api/persistence/v1/executions.pb.go @@ -2253,91 +2253,6 @@ func (m *Checksum) GetValue() []byte { return nil } -type UpdateInfo struct { - // Types that are valid to be assigned to Value: - // *UpdateInfo_AcceptancePointer - // *UpdateInfo_CompletedPointer - Value isUpdateInfo_Value `protobuf_oneof:"value"` -} - -func (m *UpdateInfo) Reset() { *m = UpdateInfo{} } -func (*UpdateInfo) ProtoMessage() {} -func (*UpdateInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_67a714d0e7ba9f37, []int{15} -} -func (m *UpdateInfo) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *UpdateInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_UpdateInfo.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *UpdateInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_UpdateInfo.Merge(m, src) -} -func (m *UpdateInfo) XXX_Size() int { - return m.Size() -} -func (m *UpdateInfo) XXX_DiscardUnknown() { - xxx_messageInfo_UpdateInfo.DiscardUnknown(m) -} - -var xxx_messageInfo_UpdateInfo proto.InternalMessageInfo - -type isUpdateInfo_Value interface { - isUpdateInfo_Value() - Equal(interface{}) bool - MarshalTo([]byte) (int, error) - Size() int -} - -type UpdateInfo_AcceptancePointer struct { - AcceptancePointer *v13.HistoryEventPointer `protobuf:"bytes,1,opt,name=acceptance_pointer,json=acceptancePointer,proto3,oneof" json:"acceptance_pointer,omitempty"` -} -type UpdateInfo_CompletedPointer struct { - CompletedPointer *v13.HistoryEventPointer `protobuf:"bytes,2,opt,name=completed_pointer,json=completedPointer,proto3,oneof" json:"completed_pointer,omitempty"` -} - -func (*UpdateInfo_AcceptancePointer) isUpdateInfo_Value() {} -func (*UpdateInfo_CompletedPointer) isUpdateInfo_Value() {} - -func (m *UpdateInfo) GetValue() isUpdateInfo_Value { - if m != nil { - return m.Value - } - return nil -} - -func (m *UpdateInfo) GetAcceptancePointer() *v13.HistoryEventPointer { - if x, ok := m.GetValue().(*UpdateInfo_AcceptancePointer); ok { - return x.AcceptancePointer - } - return nil -} - -func (m *UpdateInfo) GetCompletedPointer() *v13.HistoryEventPointer { - if x, ok := m.GetValue().(*UpdateInfo_CompletedPointer); ok { - return x.CompletedPointer - } - return nil -} - -// XXX_OneofWrappers is for the internal use of the proto package. -func (*UpdateInfo) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*UpdateInfo_AcceptancePointer)(nil), - (*UpdateInfo_CompletedPointer)(nil), - } -} - func init() { proto.RegisterType((*ShardInfo)(nil), "temporal.server.api.persistence.v1.ShardInfo") proto.RegisterMapType((map[int32]*QueueAckLevel)(nil), "temporal.server.api.persistence.v1.ShardInfo.QueueAckLevelsEntry") @@ -2360,7 +2275,6 @@ func init() { proto.RegisterType((*RequestCancelInfo)(nil), "temporal.server.api.persistence.v1.RequestCancelInfo") proto.RegisterType((*SignalInfo)(nil), "temporal.server.api.persistence.v1.SignalInfo") proto.RegisterType((*Checksum)(nil), "temporal.server.api.persistence.v1.Checksum") - proto.RegisterType((*UpdateInfo)(nil), "temporal.server.api.persistence.v1.UpdateInfo") } func init() { @@ -2368,238 +2282,235 @@ func init() { } var fileDescriptor_67a714d0e7ba9f37 = []byte{ - // 3696 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x3a, 0x4d, 0x73, 0xdb, 0x46, - 0x74, 0xa2, 0x05, 0x89, 0xe0, 0x23, 0x45, 0x41, 0xd0, 0x17, 0xa4, 0xc8, 0x94, 0xcc, 0xd8, 0x89, - 0x9c, 0xd8, 0x54, 0x24, 0x39, 0x75, 0x3e, 0xda, 0xb8, 0x92, 0x2c, 0xdb, 0x64, 0x1c, 0xdb, 0x81, - 0x94, 0x38, 0x93, 0x26, 0xc3, 0x81, 0x80, 0x95, 0x84, 0x8a, 0x04, 0x68, 0x00, 0x94, 0xcc, 0x4c, - 0x0f, 0x39, 0x74, 0x72, 0x4e, 0x6f, 0x9d, 0xe9, 0x1f, 0xe8, 0xb1, 0x97, 0xde, 0x7b, 0xe8, 0xa1, - 0xa7, 0x4e, 0x6e, 0xcd, 0x2d, 0x8d, 0x73, 0xe9, 0xa5, 0x93, 0x4c, 0x7f, 0x41, 0x67, 0xdf, 0xee, - 0xe2, 0x8b, 0x90, 0x44, 0x39, 0xf1, 0x21, 0x37, 0x62, 0xdf, 0xc7, 0xbe, 0x7d, 0xfb, 0xf6, 0x7d, - 0x12, 0xd6, 0x03, 0xd2, 0xee, 0xb8, 0x9e, 0xd1, 0x5a, 0xf1, 0x89, 0x77, 0x4c, 0xbc, 0x15, 0xa3, - 0x63, 0xaf, 0x74, 0x88, 0xe7, 0xdb, 0x7e, 0x40, 0x1c, 0x93, 0xac, 0x1c, 0xaf, 0xae, 0x90, 0xe7, - 0xc4, 0xec, 0x06, 0xb6, 0xeb, 0xf8, 0xb5, 0x8e, 0xe7, 0x06, 0xae, 0x5a, 0x15, 0x44, 0x35, 0x46, - 0x54, 0x33, 0x3a, 0x76, 0x2d, 0x46, 0x54, 0x3b, 0x5e, 0x9d, 0xaf, 0x1c, 0xb8, 0xee, 0x41, 0x8b, - 0xac, 0x20, 0xc5, 0x5e, 0x77, 0x7f, 0xc5, 0xea, 0x7a, 0x06, 0x65, 0xc2, 0x78, 0xcc, 0x2f, 0xa6, - 0xe1, 0x81, 0xdd, 0x26, 0x7e, 0x60, 0xb4, 0x3b, 0x1c, 0xe1, 0x8a, 0x45, 0x3a, 0xc4, 0xb1, 0x88, - 0x63, 0xda, 0xc4, 0x5f, 0x39, 0x70, 0x0f, 0x5c, 0x5c, 0xc7, 0x5f, 0x1c, 0xe5, 0x6a, 0x28, 0x3c, - 0x95, 0xda, 0x74, 0xdb, 0x6d, 0xd7, 0xa1, 0x02, 0xb7, 0x89, 0xef, 0x1b, 0x07, 0x24, 0x13, 0x8b, - 0x38, 0xdd, 0xb6, 0x4f, 0x91, 0x4e, 0x5c, 0xef, 0x68, 0xbf, 0xe5, 0x9e, 0x70, 0xac, 0x6b, 0x09, - 0xac, 0x7d, 0xc3, 0x6e, 0x75, 0x3d, 0xd2, 0xcf, 0xec, 0x8d, 0x04, 0x9a, 0xe0, 0xd1, 0x8f, 0xf7, - 0x56, 0x96, 0x5e, 0xcd, 0x96, 0x6b, 0x1e, 0xf5, 0xe3, 0x5e, 0xcf, 0xc2, 0x0d, 0xe5, 0x64, 0xc7, - 0xe2, 0xa8, 0x6f, 0x9f, 0x89, 0x9a, 0x3a, 0xd2, 0x9b, 0x67, 0x22, 0x07, 0x86, 0x7f, 0xc4, 0x11, - 0xdf, 0x1d, 0x88, 0x6b, 0x93, 0x52, 0x34, 0x83, 0x5e, 0x47, 0xc8, 0x7d, 0x23, 0x8b, 0xec, 0xd0, - 0xf6, 0x03, 0xd7, 0xeb, 0xf5, 0x9f, 0x72, 0x65, 0x00, 0x4b, 0x7b, 0xd6, 0x25, 0x5d, 0xc2, 0xad, - 0x6c, 0xfe, 0x66, 0x16, 0xc1, 0xa9, 0x1a, 0xaf, 0x7e, 0x97, 0x87, 0xc2, 0xce, 0xa1, 0xe1, 0x59, - 0x75, 0x67, 0xdf, 0x55, 0xe7, 0x40, 0xf6, 0xe9, 0x47, 0xd3, 0xb6, 0xb4, 0xdc, 0x52, 0x6e, 0x79, - 0x44, 0xcf, 0xe3, 0x77, 0xdd, 0xa2, 0x20, 0xcf, 0x70, 0x0e, 0x08, 0x05, 0x5d, 0x5a, 0xca, 0x2d, - 0x0f, 0xeb, 0x79, 0xfc, 0xae, 0x5b, 0xea, 0x14, 0x8c, 0xb8, 0x27, 0x0e, 0xf1, 0xb4, 0xe1, 0xa5, - 0xdc, 0x72, 0x41, 0x67, 0x1f, 0xea, 0x0d, 0x50, 0xfd, 0xc0, 0x6d, 0x11, 0xa7, 0xe9, 0xdb, 0x8e, - 0x49, 0x9a, 0x1e, 0x71, 0xc8, 0x89, 0x36, 0x8a, 0x5c, 0x15, 0x06, 0xd9, 0xa1, 0x00, 0x9d, 0xae, - 0xab, 0x1b, 0x50, 0xec, 0x76, 0x2c, 0x23, 0x20, 0x4d, 0x6a, 0xd1, 0x5a, 0x7e, 0x29, 0xb7, 0x5c, - 0x5c, 0x9b, 0xaf, 0x31, 0x73, 0xaf, 0x09, 0x73, 0xaf, 0xed, 0x0a, 0x73, 0xdf, 0x94, 0xbe, 0xff, - 0x69, 0x31, 0xa7, 0x03, 0x23, 0xa2, 0xcb, 0xea, 0xdf, 0xe7, 0x60, 0xce, 0x23, 0x9d, 0x96, 0x6d, - 0xe2, 0x8b, 0x69, 0x5a, 0xad, 0x67, 0x4d, 0xc3, 0x3c, 0x6a, 0xb6, 0xc8, 0x31, 0x69, 0x69, 0x63, - 0x4b, 0xc3, 0xcb, 0xc5, 0xb5, 0x7a, 0xed, 0xfc, 0x47, 0x58, 0x0b, 0xf5, 0x51, 0xd3, 0x23, 0x76, - 0x77, 0x5b, 0xcf, 0x36, 0xcc, 0xa3, 0x87, 0x94, 0xd7, 0xb6, 0x13, 0x78, 0x3d, 0x7d, 0xc6, 0xcb, - 0x04, 0xaa, 0x47, 0xa0, 0xe0, 0x85, 0x44, 0x7b, 0xfb, 0x9a, 0x82, 0x9b, 0x6f, 0x5c, 0x6c, 0xf3, - 0x4f, 0x29, 0x17, 0xc1, 0xd6, 0x67, 0x9b, 0x96, 0x9f, 0x25, 0x16, 0x55, 0x03, 0x4a, 0x6c, 0x33, - 0x3f, 0x30, 0x02, 0xe2, 0x6b, 0x13, 0xb8, 0xd1, 0x47, 0x2f, 0xb1, 0xd1, 0x0e, 0x32, 0x60, 0xbb, - 0x14, 0x9f, 0x45, 0x2b, 0xf3, 0x75, 0x78, 0xed, 0x0c, 0x35, 0xa8, 0x0a, 0x0c, 0x1f, 0x91, 0x1e, - 0x5a, 0x4b, 0x41, 0xa7, 0x3f, 0xa9, 0x39, 0x1c, 0x1b, 0xad, 0x2e, 0xe1, 0x66, 0xc2, 0x3e, 0x3e, - 0xb8, 0xf4, 0x5e, 0x6e, 0x3e, 0x80, 0xc9, 0x8c, 0x43, 0xc5, 0x59, 0x8c, 0x30, 0x16, 0xf7, 0xe3, - 0x2c, 0x8a, 0x6b, 0xab, 0x83, 0x9c, 0x27, 0xc1, 0x39, 0xbe, 0xab, 0x03, 0x4a, 0xfa, 0x84, 0x19, - 0x5b, 0xde, 0x4d, 0x6e, 0x59, 0x1b, 0x78, 0x4b, 0x64, 0x1b, 0xdb, 0xaf, 0x21, 0xc9, 0x92, 0x32, - 0xd2, 0x90, 0xe4, 0x11, 0x65, 0xb4, 0x21, 0xc9, 0xb2, 0x52, 0x68, 0x48, 0x72, 0x41, 0x81, 0x86, - 0x24, 0x83, 0x52, 0x6c, 0x48, 0x72, 0x51, 0x29, 0x35, 0x24, 0xb9, 0xa4, 0x8c, 0x35, 0x24, 0xb9, - 0xac, 0x8c, 0x37, 0x24, 0x79, 0x5c, 0x51, 0xaa, 0xff, 0x74, 0x15, 0xa6, 0x9f, 0xf2, 0x67, 0xba, - 0x2d, 0x42, 0x07, 0x3e, 0xca, 0x2b, 0x50, 0x72, 0x8c, 0x36, 0xf1, 0x3b, 0x86, 0x49, 0xc4, 0xc3, - 0x2c, 0xe8, 0xc5, 0x70, 0xad, 0x6e, 0xa9, 0x8b, 0x50, 0x0c, 0xfd, 0x0d, 0x7f, 0x9f, 0x05, 0x1d, - 0xc4, 0x52, 0xdd, 0x52, 0x6b, 0x30, 0xd9, 0x31, 0x3c, 0xe2, 0x04, 0xcd, 0x04, 0x2b, 0xf6, 0x60, - 0x27, 0x18, 0xe8, 0x51, 0x8c, 0xe1, 0x0d, 0x50, 0x39, 0x7e, 0x9c, 0xaf, 0x84, 0xe8, 0x0a, 0x83, - 0x3c, 0x8d, 0xb8, 0x57, 0x61, 0x8c, 0x63, 0x7b, 0x5d, 0x87, 0x22, 0x8e, 0x30, 0x11, 0xd9, 0xa2, - 0xde, 0x75, 0x12, 0x12, 0xd8, 0x8e, 0x1d, 0xd8, 0x46, 0x40, 0xd0, 0xcb, 0x8c, 0xa2, 0x8d, 0x70, - 0x09, 0xea, 0x02, 0x52, 0xb7, 0xd4, 0xf7, 0x61, 0xce, 0x74, 0xdb, 0x9d, 0x16, 0xc1, 0xb7, 0x4c, - 0x8e, 0x29, 0xe5, 0x9e, 0x11, 0x98, 0x87, 0x94, 0x2a, 0x8f, 0x54, 0x33, 0x11, 0xc2, 0x36, 0x85, - 0x6f, 0x52, 0x70, 0xdd, 0x52, 0x2f, 0x03, 0xa0, 0xd3, 0x45, 0x2b, 0xd6, 0x0a, 0x28, 0x4b, 0x81, - 0xae, 0xe0, 0x7d, 0xd1, 0xb3, 0x45, 0xce, 0xb9, 0xd7, 0x21, 0xa8, 0x12, 0x0d, 0xd8, 0xd9, 0x04, - 0x64, 0xb7, 0xd7, 0x21, 0x54, 0x21, 0xea, 0xd7, 0x30, 0x1f, 0x62, 0x87, 0x21, 0x1d, 0x9d, 0x94, - 0xdb, 0x0d, 0xb4, 0x22, 0x1a, 0xcb, 0x5c, 0x9f, 0x9f, 0xba, 0xcb, 0xc3, 0xf6, 0xa6, 0xf4, 0x8f, - 0xd4, 0x4d, 0x69, 0x27, 0xe9, 0x9b, 0xdd, 0x65, 0x0c, 0xd4, 0x4f, 0x61, 0x2a, 0x64, 0x4f, 0x95, - 0x27, 0x18, 0x97, 0x06, 0x63, 0x1c, 0x9e, 0x44, 0xef, 0x86, 0x2c, 0xf7, 0xe0, 0xb2, 0x45, 0xf6, - 0x8d, 0x6e, 0x2b, 0x76, 0x79, 0x2c, 0x08, 0x71, 0xde, 0x63, 0x83, 0xf1, 0x9e, 0xe7, 0x5c, 0xc4, - 0x45, 0xef, 0x1a, 0xfe, 0x91, 0xd8, 0xe3, 0x6d, 0x50, 0x5b, 0x86, 0x1f, 0xf0, 0x7b, 0x41, 0xee, - 0xb6, 0xa5, 0x4d, 0xe0, 0xb5, 0x8c, 0x53, 0x08, 0x5e, 0x08, 0xa5, 0xa8, 0x5b, 0xea, 0x4d, 0x98, - 0x44, 0xe4, 0x7d, 0xdb, 0x0b, 0x49, 0x6c, 0x4b, 0x53, 0x11, 0x5b, 0xa1, 0xa0, 0x7b, 0x14, 0x82, - 0x24, 0x75, 0x4b, 0xfd, 0x18, 0x5e, 0x47, 0xf4, 0xa4, 0xf0, 0x7e, 0x60, 0x78, 0xd4, 0x66, 0x42, - 0xf2, 0x49, 0x24, 0xaf, 0x50, 0xd4, 0xb8, 0x84, 0x3b, 0x0c, 0x4f, 0x30, 0xbb, 0x03, 0x80, 0x94, - 0x2c, 0xac, 0x4c, 0x0d, 0x18, 0x56, 0x0a, 0x48, 0x83, 0x51, 0xa5, 0x01, 0x28, 0x61, 0x33, 0x1e, - 0x9d, 0xa6, 0x07, 0x64, 0x53, 0xa6, 0x94, 0x9f, 0x45, 0x11, 0x6a, 0x0d, 0xa6, 0x93, 0x87, 0x3a, - 0xa6, 0xfe, 0xc4, 0x75, 0xb4, 0x19, 0x3c, 0xcb, 0xe4, 0x49, 0xec, 0x1c, 0x9f, 0x33, 0x90, 0x7a, - 0x0f, 0x96, 0x52, 0x8a, 0x30, 0x0f, 0x89, 0xd5, 0x6d, 0xc5, 0x55, 0x31, 0x8b, 0xe4, 0x0b, 0x71, - 0xf2, 0x1d, 0x81, 0x25, 0x14, 0xb1, 0x09, 0x95, 0x73, 0x14, 0xaa, 0x21, 0x97, 0xf9, 0x93, 0xd3, - 0x95, 0xb9, 0x93, 0x96, 0x5f, 0x58, 0xd4, 0xdc, 0x60, 0x16, 0x95, 0x38, 0xa0, 0x30, 0xa5, 0x3e, - 0xa5, 0x18, 0x01, 0x75, 0xbd, 0x81, 0x36, 0x8f, 0xce, 0x39, 0x41, 0xb3, 0xc1, 0x40, 0x89, 0x47, - 0x99, 0x38, 0x0c, 0x5e, 0xcf, 0x6b, 0x03, 0x5e, 0xcf, 0x6c, 0xc6, 0x51, 0xf1, 0x9e, 0x0c, 0x58, - 0x38, 0x4d, 0xe7, 0xb8, 0xc1, 0xc2, 0x80, 0x1b, 0xcc, 0x65, 0xde, 0x08, 0x6e, 0xe1, 0xc1, 0xb5, - 0xe4, 0x16, 0xae, 0x67, 0x1f, 0xd8, 0x8e, 0xd1, 0x4a, 0xef, 0x55, 0x19, 0x70, 0xaf, 0x2b, 0xf1, - 0xbd, 0x1e, 0x73, 0x66, 0xc9, 0x3d, 0x6f, 0x83, 0x96, 0xdc, 0xd3, 0x23, 0xcf, 0xba, 0xc4, 0xc7, - 0xcb, 0x5f, 0x44, 0xf7, 0x37, 0x1d, 0x67, 0xa2, 0x33, 0x68, 0xdd, 0x52, 0xbf, 0x8a, 0x7b, 0x4c, - 0x91, 0xce, 0x6a, 0x77, 0x97, 0x72, 0xcb, 0xe5, 0x53, 0x02, 0x25, 0xa6, 0xc1, 0x34, 0x44, 0x26, - 0x9c, 0x47, 0xaf, 0x43, 0x62, 0x1e, 0x96, 0xaf, 0xa8, 0x8f, 0xd3, 0xaa, 0xf0, 0xbb, 0x07, 0x07, - 0x54, 0x2c, 0xd3, 0x75, 0x02, 0xdb, 0xa1, 0x99, 0x94, 0xdf, 0xa4, 0xb9, 0xe3, 0xf6, 0x52, 0x6e, - 0x59, 0xd6, 0x97, 0x12, 0x4a, 0x65, 0xa8, 0x5b, 0x1c, 0x73, 0xc3, 0x7f, 0x44, 0x4e, 0xfa, 0x9f, - 0x0c, 0xcf, 0xae, 0x9b, 0xbe, 0xfd, 0x0d, 0x69, 0xee, 0xf5, 0x68, 0xa2, 0x74, 0xaf, 0xff, 0xc9, - 0x3c, 0x60, 0x58, 0x3b, 0xf6, 0x37, 0x64, 0x93, 0xe2, 0xa8, 0xd7, 0x41, 0x31, 0x0d, 0xc7, 0x24, - 0x2d, 0xa1, 0x28, 0x62, 0x69, 0x97, 0x51, 0x86, 0x71, 0xb6, 0xae, 0x8b, 0x65, 0xf5, 0x2d, 0x98, - 0x48, 0xa2, 0x52, 0x9d, 0x2e, 0xa1, 0x4e, 0x93, 0xb8, 0x75, 0xc4, 0xf5, 0x03, 0xdb, 0x3c, 0xea, - 0x35, 0x63, 0x51, 0xea, 0x0a, 0xc3, 0x65, 0x80, 0xdd, 0x30, 0x56, 0x1d, 0xc0, 0x12, 0xc7, 0x15, - 0x66, 0xd1, 0x0c, 0xdc, 0x66, 0xe4, 0xd1, 0xe8, 0xe3, 0xab, 0x0e, 0xf6, 0xf8, 0x16, 0x18, 0x23, - 0x61, 0x12, 0xbb, 0xee, 0x8e, 0xf0, 0x71, 0xf4, 0x15, 0x6a, 0x90, 0x17, 0xef, 0xee, 0x75, 0x96, - 0xf8, 0xf3, 0x4f, 0xf5, 0x33, 0x98, 0xf1, 0x48, 0xe0, 0xf5, 0x78, 0xdc, 0x6e, 0x35, 0x6d, 0x27, - 0x20, 0xde, 0xb1, 0xd1, 0xd2, 0xae, 0x0e, 0xb6, 0xf1, 0x14, 0x92, 0xb3, 0xd8, 0xde, 0xaa, 0x73, - 0xe2, 0x88, 0x6d, 0xdb, 0x78, 0x6e, 0xb7, 0xbb, 0xed, 0x88, 0xed, 0xb5, 0x8b, 0xb0, 0xfd, 0x84, - 0x51, 0x87, 0x6c, 0x6f, 0xa5, 0xd9, 0xf2, 0x63, 0xf8, 0xda, 0x1b, 0x78, 0xac, 0x04, 0x15, 0x77, - 0x27, 0xbe, 0xfa, 0x01, 0xad, 0x1c, 0x28, 0xd5, 0x9e, 0x61, 0x1e, 0xb9, 0xfb, 0xfb, 0x4d, 0xd3, - 0x25, 0xfb, 0xfb, 0xb6, 0x69, 0x13, 0x27, 0xd0, 0xde, 0x5c, 0xca, 0x2d, 0xe7, 0xf4, 0x59, 0x44, - 0xd8, 0x64, 0xf0, 0xad, 0x08, 0xac, 0xb6, 0xa1, 0x9a, 0x91, 0x20, 0x90, 0xe7, 0x1d, 0x9b, 0x89, - 0xcb, 0x9e, 0xf1, 0xf2, 0x80, 0xcf, 0x78, 0xb1, 0x2f, 0x53, 0xd8, 0x0e, 0x39, 0xe1, 0x23, 0xbe, - 0x0b, 0x8b, 0x4c, 0x54, 0xc7, 0x75, 0x9a, 0xf8, 0xcb, 0xd8, 0x6b, 0x91, 0x26, 0xf1, 0x3c, 0xd7, - 0xc3, 0x77, 0xe9, 0x6b, 0xd7, 0x97, 0x86, 0x97, 0x0b, 0xfa, 0x6b, 0x08, 0x7c, 0xe4, 0x3a, 0xba, - 0x40, 0xda, 0xa6, 0x38, 0xf4, 0xc9, 0xf9, 0xea, 0x32, 0x28, 0x87, 0x86, 0xcf, 0xe8, 0x9b, 0x1d, - 0xb7, 0x65, 0x9b, 0x3d, 0xed, 0x2d, 0x34, 0xed, 0xf2, 0xa1, 0xe1, 0x23, 0xc5, 0x13, 0x5c, 0x55, - 0x5f, 0x87, 0x31, 0xd3, 0x73, 0x9d, 0xd0, 0xfe, 0xb4, 0xb7, 0xd1, 0x52, 0x4b, 0x74, 0x51, 0xd8, - 0x12, 0x4d, 0x51, 0x7d, 0xfb, 0x80, 0x7a, 0x2f, 0xd3, 0xed, 0x3a, 0x81, 0x56, 0xc3, 0xd7, 0x55, - 0x64, 0x6b, 0x5b, 0x74, 0x49, 0xbd, 0x06, 0x65, 0xc3, 0x0c, 0xec, 0x63, 0x3b, 0xe8, 0x71, 0xa4, - 0xfb, 0x88, 0x34, 0x26, 0x56, 0x19, 0xda, 0x1a, 0x4c, 0x9b, 0x87, 0x76, 0xcb, 0x8a, 0xa9, 0x92, - 0x61, 0x3f, 0x60, 0x21, 0x12, 0x81, 0xa1, 0x6e, 0x18, 0xcd, 0x32, 0x28, 0x5d, 0x9f, 0x78, 0xa8, - 0x68, 0x8f, 0xa3, 0xd7, 0x11, 0xbd, 0x4c, 0xd7, 0xa9, 0xda, 0x3c, 0x86, 0xb9, 0x01, 0x97, 0xc5, - 0xfb, 0xe4, 0xcf, 0x95, 0x3c, 0x0f, 0x88, 0x17, 0x09, 0xde, 0x60, 0x31, 0x90, 0x23, 0x6d, 0x21, - 0xce, 0x36, 0x47, 0x09, 0x05, 0xe4, 0x47, 0x4d, 0x91, 0x7e, 0xcc, 0x04, 0x64, 0xc0, 0x24, 0xcd, - 0xa7, 0x30, 0x61, 0x74, 0x03, 0xb7, 0xe9, 0x11, 0x9f, 0x04, 0xcd, 0x8e, 0x6b, 0x3b, 0x81, 0xaf, - 0xad, 0xa3, 0x45, 0x5c, 0x8b, 0xdc, 0x27, 0xf5, 0x9b, 0x61, 0x2f, 0xe2, 0x78, 0xb5, 0xa6, 0x53, - 0xec, 0x27, 0x88, 0xac, 0x8f, 0x53, 0xfa, 0xd8, 0x82, 0xfa, 0x77, 0x30, 0xe1, 0x13, 0xc3, 0x33, - 0x0f, 0xa9, 0x81, 0x7b, 0xf6, 0x5e, 0x97, 0x3a, 0xb5, 0x5b, 0x58, 0xfd, 0x3d, 0x1e, 0xa4, 0x74, - 0xc9, 0x2c, 0x35, 0x6a, 0x3b, 0xc8, 0x72, 0x23, 0xe4, 0xc8, 0xca, 0x41, 0xc5, 0x4f, 0x2d, 0xab, - 0x4f, 0x41, 0x6a, 0x93, 0xb6, 0xab, 0xbd, 0x8b, 0x1b, 0x6e, 0xbd, 0xfc, 0x86, 0x9f, 0x90, 0xb6, - 0xcb, 0x36, 0x41, 0x86, 0xea, 0xd7, 0x30, 0xc1, 0x73, 0x22, 0xee, 0xb4, 0x6d, 0xe2, 0x6b, 0x7f, - 0x81, 0x9a, 0x7a, 0x27, 0x73, 0x17, 0xee, 0xda, 0xe9, 0x0e, 0x3c, 0x63, 0x7a, 0x20, 0xe8, 0x74, - 0xe5, 0x38, 0xb5, 0xa2, 0xae, 0xc3, 0x0c, 0x4f, 0x42, 0x43, 0xeb, 0xe2, 0x15, 0xcb, 0x6d, 0xb4, - 0xea, 0x49, 0x84, 0x86, 0x22, 0xb2, 0xca, 0xe5, 0x6f, 0x60, 0x3c, 0x42, 0xa7, 0x75, 0xb6, 0xaf, - 0xbd, 0x87, 0x12, 0xad, 0x0d, 0x72, 0xee, 0x90, 0x19, 0xad, 0x13, 0x7d, 0xbd, 0x4c, 0x12, 0xdf, - 0x89, 0x54, 0x83, 0x8a, 0x92, 0xf6, 0x1b, 0xef, 0x5f, 0x34, 0xd5, 0xd0, 0xbb, 0x69, 0x8f, 0x71, - 0x0b, 0x66, 0xfb, 0xd2, 0xef, 0xe0, 0x39, 0x9e, 0xfa, 0x03, 0x66, 0xb3, 0xc9, 0x14, 0x7c, 0xf7, - 0x39, 0x3d, 0xf5, 0x2d, 0x98, 0xc1, 0x9e, 0x42, 0x33, 0xf0, 0x0c, 0xc7, 0xb7, 0x63, 0x2f, 0xf1, - 0x43, 0x24, 0x9a, 0x42, 0xe8, 0x6e, 0x08, 0x64, 0x96, 0x7e, 0x1f, 0xca, 0xc9, 0x22, 0x49, 0xfb, - 0xcb, 0x01, 0x0f, 0x30, 0x46, 0xe2, 0xa5, 0x91, 0xba, 0x02, 0x53, 0x0e, 0x39, 0xe9, 0xbf, 0xa7, - 0xbf, 0x62, 0x15, 0xab, 0x43, 0x4e, 0x52, 0xb7, 0xf4, 0x10, 0x4a, 0xbc, 0xbe, 0xc4, 0x7e, 0xa1, - 0xf6, 0x11, 0xee, 0x7b, 0x3d, 0xf3, 0x8a, 0x10, 0x83, 0x99, 0x8c, 0x19, 0xb8, 0xde, 0x16, 0xfd, - 0x14, 0xd5, 0x2a, 0x7e, 0xa8, 0xef, 0x81, 0xd6, 0x57, 0xad, 0x8a, 0x64, 0xfd, 0x0e, 0x2b, 0x3e, - 0x53, 0x25, 0xab, 0xc8, 0xd7, 0xd7, 0x61, 0xc6, 0x6c, 0xb9, 0x3e, 0xd7, 0xdb, 0x3e, 0x75, 0x4b, - 0xbc, 0x3a, 0xfa, 0x6b, 0xee, 0xc1, 0x28, 0x74, 0x97, 0x03, 0x79, 0x85, 0x74, 0x1b, 0x34, 0x46, - 0x74, 0x6c, 0xfb, 0xf6, 0x9e, 0xdd, 0xa2, 0x4e, 0x52, 0x90, 0x6d, 0x20, 0xd9, 0x34, 0xc2, 0x3f, - 0x0f, 0xc1, 0x9c, 0xf0, 0x0e, 0x00, 0xdf, 0x8d, 0xea, 0x7a, 0x73, 0xd0, 0xf2, 0x86, 0xc9, 0x40, - 0xf5, 0xbc, 0x0d, 0x8b, 0xd9, 0x3b, 0xf3, 0xda, 0x9a, 0x58, 0xda, 0x16, 0xc6, 0x85, 0x85, 0x0c, - 0x01, 0xb6, 0x04, 0x8e, 0xba, 0x07, 0x93, 0x7b, 0x86, 0x4f, 0x62, 0xf7, 0x65, 0x3b, 0xfb, 0xae, - 0xf6, 0xf0, 0x8c, 0x77, 0x12, 0x77, 0x75, 0x9b, 0x86, 0x4f, 0x12, 0x8e, 0x41, 0x9f, 0xd8, 0x4b, - 0x2f, 0xcd, 0x5b, 0x30, 0x9d, 0xe9, 0x9f, 0x32, 0x5a, 0x50, 0xef, 0x26, 0x9b, 0x39, 0x8b, 0x49, - 0x27, 0xcb, 0x7b, 0xc3, 0xc7, 0xab, 0xb5, 0x27, 0x46, 0xaf, 0xe5, 0x1a, 0x56, 0xbc, 0x5b, 0xf4, - 0x05, 0x14, 0x42, 0xa7, 0xf4, 0x87, 0x72, 0x0e, 0x7b, 0x41, 0x61, 0xcf, 0xa7, 0x21, 0xc9, 0x8a, - 0x32, 0xd1, 0x90, 0xe4, 0x1b, 0xca, 0xcd, 0x86, 0x24, 0xdf, 0x54, 0x6a, 0x0d, 0x49, 0x5e, 0x51, - 0xde, 0x69, 0x48, 0xf2, 0x3b, 0xca, 0x6a, 0x43, 0x92, 0x57, 0x95, 0xb5, 0x86, 0x24, 0xaf, 0x29, - 0xeb, 0xd5, 0x75, 0x28, 0x27, 0x1d, 0x09, 0x0d, 0xb9, 0xf1, 0xb4, 0x16, 0x65, 0x1c, 0xd6, 0x8b, - 0x87, 0x51, 0x12, 0x5b, 0xfd, 0x35, 0x07, 0x33, 0x7d, 0x6e, 0x17, 0xdb, 0x55, 0x98, 0xaf, 0x7a, - 0x84, 0x3e, 0xef, 0x58, 0xbe, 0x9a, 0xe3, 0xf9, 0x2a, 0x02, 0xa2, 0x7c, 0x75, 0x1a, 0x46, 0xf9, - 0xe3, 0x63, 0x7d, 0xa5, 0x11, 0x0f, 0x1f, 0x5c, 0x03, 0x46, 0xd0, 0x05, 0x60, 0x13, 0xa9, 0xbc, - 0x76, 0x6b, 0xb0, 0x3a, 0x20, 0x29, 0x87, 0xce, 0x58, 0xa8, 0xf7, 0x60, 0x94, 0xfe, 0xe8, 0xfa, - 0xd8, 0x62, 0x4a, 0x14, 0x15, 0xe7, 0x73, 0xe9, 0xfa, 0x3a, 0xa7, 0xae, 0xfe, 0xdf, 0x28, 0x28, - 0x89, 0xa7, 0xf5, 0x47, 0xf5, 0xcf, 0x22, 0x1d, 0x0c, 0xc7, 0x75, 0xb0, 0x05, 0x85, 0xa8, 0x1e, - 0x62, 0xa2, 0xbf, 0x71, 0xb6, 0x1e, 0xc2, 0x3a, 0x48, 0x0e, 0x44, 0xfd, 0x53, 0x83, 0xc9, 0xc0, - 0xf0, 0x0e, 0x48, 0xaa, 0x37, 0xc7, 0x7a, 0x68, 0x13, 0x0c, 0x94, 0xea, 0xcd, 0x71, 0xfc, 0xb8, - 0xcc, 0xa3, 0xac, 0x7f, 0xc5, 0x20, 0xc9, 0xde, 0x1c, 0xc7, 0xe6, 0x07, 0xc8, 0xb3, 0xe3, 0xb3, - 0x45, 0xe6, 0x3b, 0x93, 0x0d, 0x33, 0x39, 0xdd, 0x30, 0xfb, 0x10, 0xe6, 0x39, 0x0b, 0x96, 0x9a, - 0x85, 0xdb, 0xba, 0x4e, 0xab, 0x87, 0xfd, 0x35, 0x59, 0x9f, 0x65, 0x18, 0x5b, 0x14, 0x41, 0xec, - 0xfe, 0xd8, 0x69, 0xf5, 0x70, 0x0c, 0xd0, 0xdf, 0xb1, 0x00, 0xd6, 0xfb, 0xf1, 0xd3, 0x5d, 0x0a, - 0x0d, 0xf2, 0xc2, 0xcd, 0x16, 0xd9, 0x90, 0x81, 0x7f, 0xaa, 0xb3, 0x90, 0x17, 0x1e, 0xb1, 0x84, - 0x90, 0xd1, 0x80, 0xb9, 0xc0, 0x3a, 0x8c, 0xc7, 0x7d, 0x17, 0xf5, 0x83, 0x63, 0x83, 0xf6, 0x67, - 0x22, 0x42, 0x74, 0x86, 0x37, 0x40, 0xb5, 0x08, 0x75, 0x68, 0x4d, 0x63, 0x3f, 0xa0, 0xa9, 0x24, - 0x75, 0x79, 0xda, 0x38, 0x1e, 0x50, 0x61, 0x90, 0x0d, 0x0a, 0xd8, 0xa2, 0xeb, 0xea, 0x3f, 0xe4, - 0x80, 0x39, 0xc5, 0x78, 0x5f, 0x90, 0x8a, 0x68, 0x91, 0xc0, 0xb0, 0xb1, 0xeb, 0x4f, 0xc5, 0x78, - 0x34, 0x48, 0x96, 0x90, 0x36, 0xda, 0x1a, 0x6e, 0x11, 0x75, 0x0b, 0x0d, 0xff, 0xe8, 0x2e, 0xe3, - 0xfa, 0x60, 0x48, 0x9f, 0x33, 0x4f, 0x03, 0xce, 0x7f, 0x05, 0x73, 0xa7, 0x52, 0xaa, 0x77, 0x60, - 0xc1, 0x34, 0x9c, 0xa6, 0x7f, 0x64, 0x77, 0xe2, 0xee, 0x9e, 0xba, 0x54, 0x9b, 0x16, 0x5e, 0x39, - 0x3c, 0xe8, 0x9c, 0x69, 0x38, 0x3b, 0x47, 0x76, 0x27, 0x72, 0xf5, 0x1b, 0x1c, 0x61, 0xb3, 0x0c, - 0xa5, 0xf8, 0x01, 0x99, 0x2f, 0xab, 0xfe, 0xab, 0x04, 0x93, 0xb1, 0x09, 0xc1, 0x9f, 0xe6, 0xdd, - 0xc5, 0x6c, 0x6d, 0x24, 0x69, 0x6b, 0x57, 0xa1, 0x9c, 0xea, 0x55, 0xb2, 0x36, 0x75, 0x69, 0x3f, - 0xde, 0xa7, 0xac, 0xc2, 0x98, 0x43, 0x9e, 0xc7, 0x90, 0x58, 0x57, 0xba, 0x48, 0x17, 0x05, 0x4e, - 0xb6, 0xf5, 0xcb, 0xa7, 0x58, 0xff, 0x15, 0x28, 0xed, 0x79, 0x86, 0x63, 0x1e, 0x36, 0x03, 0xf7, - 0x88, 0xb0, 0x27, 0x50, 0xd2, 0x8b, 0x6c, 0x6d, 0x97, 0x2e, 0x89, 0xbc, 0x88, 0x2a, 0x25, 0x81, - 0x3a, 0x86, 0xa8, 0x34, 0x2f, 0xd2, 0xbb, 0xce, 0x66, 0x8c, 0x20, 0xf6, 0x6e, 0xc6, 0xcf, 0x7b, - 0x37, 0xca, 0x4b, 0xbe, 0x9b, 0x05, 0x00, 0x21, 0x14, 0xef, 0x02, 0x17, 0x74, 0x99, 0x89, 0x52, - 0xb7, 0x52, 0xd3, 0x8f, 0x70, 0xee, 0x51, 0xfd, 0xdf, 0x61, 0x50, 0x53, 0x09, 0xcd, 0x9f, 0xdb, - 0x6c, 0x62, 0xaa, 0x1e, 0x3d, 0x4f, 0xd5, 0xf9, 0x97, 0x54, 0x75, 0x32, 0xe1, 0x93, 0x2f, 0x9e, - 0xf0, 0x25, 0x1b, 0xe2, 0x85, 0x8b, 0x37, 0xc4, 0xcf, 0xca, 0x55, 0xe1, 0x8c, 0x5c, 0xb5, 0xfa, - 0xab, 0x04, 0x63, 0x58, 0x8b, 0xff, 0x69, 0xae, 0x7a, 0x1b, 0x4a, 0xbc, 0xc9, 0xc6, 0xf8, 0x8c, - 0x20, 0x9f, 0xea, 0x29, 0xc9, 0x09, 0x6f, 0xa5, 0x21, 0x8f, 0x62, 0x10, 0x7d, 0xa8, 0x24, 0xd6, - 0xe1, 0x16, 0x0d, 0x26, 0xe4, 0x37, 0x8a, 0xfc, 0x56, 0x07, 0xcb, 0x9c, 0x78, 0xeb, 0x09, 0xd9, - 0x87, 0x4d, 0xf1, 0xd8, 0x62, 0xdc, 0x30, 0xf3, 0x49, 0xc3, 0xbc, 0x0e, 0xa1, 0xaf, 0x09, 0xbb, - 0xeb, 0x32, 0xb6, 0xc3, 0xc6, 0xc5, 0xba, 0xe8, 0xac, 0xcf, 0x81, 0x1c, 0xba, 0xa9, 0x02, 0xe3, - 0x42, 0xb8, 0x77, 0x8a, 0x99, 0x37, 0x9c, 0x67, 0xde, 0xc5, 0x97, 0x34, 0xef, 0xb4, 0x07, 0x2c, - 0xf5, 0x7b, 0xc0, 0xeb, 0xa0, 0x18, 0x2d, 0x8f, 0x18, 0x96, 0x88, 0x5c, 0xc4, 0x42, 0xef, 0x27, - 0xeb, 0xe3, 0x7c, 0x7d, 0x83, 0x2f, 0x57, 0xff, 0xe5, 0x12, 0x28, 0x22, 0x78, 0x85, 0x46, 0x17, - 0x3b, 0x46, 0x2e, 0x71, 0x8c, 0xb4, 0x35, 0x5e, 0x3a, 0xd7, 0x1a, 0x87, 0xcf, 0xb0, 0x46, 0xe9, - 0x54, 0x6b, 0x1c, 0xf9, 0xfd, 0x8e, 0x67, 0x34, 0x79, 0xbf, 0x7f, 0x9c, 0x7f, 0xa9, 0x7e, 0x57, - 0x86, 0xd2, 0x06, 0xef, 0xc8, 0xa1, 0xba, 0x62, 0xbb, 0xe6, 0x92, 0xbb, 0xde, 0x06, 0x2d, 0x1d, - 0xdb, 0xc2, 0x01, 0x2d, 0x1b, 0xfd, 0x4f, 0x27, 0x23, 0x9c, 0x98, 0xcf, 0xde, 0x87, 0x72, 0x6a, - 0xc8, 0x21, 0x0d, 0xda, 0x24, 0xf0, 0x13, 0x03, 0x8d, 0x65, 0x50, 0xfa, 0xa6, 0x58, 0xcc, 0x27, - 0x97, 0xfd, 0xe4, 0xe4, 0x6a, 0x0b, 0x4a, 0x89, 0x11, 0xd1, 0xa0, 0xea, 0x29, 0xfa, 0xb1, 0xb1, - 0xd0, 0x22, 0x14, 0xc3, 0x16, 0x26, 0x8f, 0xe2, 0x05, 0x1d, 0xc4, 0x12, 0xcb, 0xa3, 0x63, 0xe5, - 0x14, 0x1f, 0x3c, 0x7b, 0x61, 0x21, 0xf5, 0x25, 0xcc, 0x9d, 0xde, 0xc5, 0x87, 0xc1, 0xba, 0xde, - 0x33, 0x7e, 0x76, 0xff, 0x3e, 0xc5, 0x3b, 0x8a, 0x11, 0x17, 0x98, 0x52, 0xc7, 0x78, 0x6f, 0x89, - 0x78, 0x41, 0x79, 0xef, 0x62, 0x2b, 0x88, 0xca, 0x9a, 0x66, 0x3c, 0xe0, 0x94, 0x7a, 0x92, 0x45, - 0x8f, 0x24, 0xd7, 0x87, 0x30, 0x71, 0x48, 0x0c, 0x2f, 0xd8, 0x23, 0x46, 0x70, 0xd1, 0xd1, 0xb4, - 0x12, 0x52, 0x0a, 0x6e, 0x59, 0xb3, 0x9a, 0xf2, 0x05, 0x66, 0x35, 0x2c, 0x37, 0xca, 0x9a, 0xd5, - 0xb0, 0xae, 0xb2, 0x98, 0x32, 0xd2, 0x1a, 0x55, 0x61, 0xae, 0x33, 0x10, 0xb1, 0x8c, 0x15, 0xa1, - 0xf1, 0x11, 0xca, 0x44, 0x72, 0x84, 0x92, 0xac, 0xaf, 0xd4, 0x74, 0x7d, 0x75, 0x3d, 0x32, 0x63, - 0xdb, 0x22, 0x4e, 0x60, 0x07, 0x3d, 0x9c, 0x6e, 0xe3, 0x3c, 0x08, 0xd7, 0xeb, 0x7c, 0x39, 0xb3, - 0x6f, 0x3f, 0x95, 0xd9, 0xb7, 0x3f, 0x7d, 0x6c, 0x33, 0xfd, 0x6a, 0xc6, 0x36, 0x33, 0xaf, 0x66, - 0x6c, 0x33, 0x7b, 0xc6, 0xd8, 0x66, 0x17, 0xa6, 0x19, 0x55, 0xba, 0x6b, 0xaa, 0x0d, 0xf8, 0xbc, - 0x27, 0x91, 0x3c, 0xd5, 0x2f, 0x3d, 0x73, 0x18, 0x34, 0x77, 0xf6, 0x30, 0x68, 0x80, 0xe9, 0xcc, - 0xfc, 0xf9, 0xd3, 0x99, 0x47, 0xa0, 0x32, 0x2e, 0xac, 0x6f, 0xcb, 0xfe, 0x55, 0xc9, 0xc7, 0xda, - 0x4b, 0xc9, 0xec, 0x83, 0x03, 0x69, 0xc8, 0xb8, 0xc7, 0x7e, 0xea, 0x0a, 0xd2, 0x3e, 0x34, 0xfc, - 0x80, 0xaf, 0xd0, 0x02, 0x3e, 0xc6, 0x8f, 0x86, 0x2b, 0xe2, 0x45, 0xa6, 0xb6, 0x80, 0xa6, 0x36, - 0x1b, 0x52, 0x3d, 0x45, 0x78, 0x68, 0x72, 0xd9, 0x25, 0x4c, 0xe5, 0x94, 0x12, 0xe6, 0x73, 0x98, - 0xc1, 0x4d, 0xa2, 0xa7, 0x2d, 0xaa, 0xe1, 0xc5, 0x2c, 0xf1, 0xfb, 0x1a, 0x66, 0xbe, 0x3e, 0x45, - 0xe9, 0x1f, 0x08, 0x72, 0x51, 0xbb, 0x7e, 0x0d, 0xf3, 0x29, 0xbe, 0xf1, 0x3f, 0x64, 0x2c, 0x0d, - 0x3a, 0xf1, 0x4f, 0xf0, 0x8e, 0xfe, 0x99, 0xd1, 0x90, 0xe4, 0x61, 0x45, 0x6a, 0x48, 0xf2, 0xa8, - 0x92, 0x6f, 0x48, 0xf2, 0x65, 0xa5, 0x52, 0xfd, 0xcf, 0x1c, 0x14, 0x30, 0x5b, 0x3d, 0x27, 0x0a, - 0x66, 0xc5, 0xa0, 0x4b, 0x99, 0x31, 0x68, 0x03, 0x8a, 0x68, 0xa7, 0x3c, 0x42, 0x0f, 0x0f, 0xfa, - 0x17, 0x47, 0x46, 0x24, 0x22, 0x50, 0xdc, 0x11, 0x49, 0xb8, 0x0f, 0xfa, 0x16, 0xee, 0x83, 0xe6, - 0x40, 0x66, 0xfe, 0x2a, 0x6c, 0x20, 0xe5, 0xf1, 0xbb, 0x6e, 0x55, 0xff, 0x4b, 0x02, 0x75, 0x2b, - 0x31, 0x3d, 0x3b, 0x3f, 0xbe, 0x47, 0xcd, 0xef, 0xec, 0xf8, 0x1e, 0xc2, 0x13, 0xf1, 0x3d, 0x4b, - 0x25, 0xc3, 0x99, 0x2a, 0xa9, 0xc1, 0xa4, 0xc0, 0x8c, 0xe7, 0x55, 0xbc, 0xf5, 0xc5, 0x41, 0xb1, - 0x66, 0xd6, 0x55, 0x10, 0x1c, 0x44, 0xb1, 0xc9, 0xda, 0x5e, 0x22, 0xb8, 0xb3, 0x76, 0x56, 0x66, - 0x73, 0x53, 0xce, 0x6e, 0x6e, 0x2e, 0x40, 0x21, 0x4c, 0xf0, 0x44, 0xc4, 0x0e, 0x17, 0x2e, 0xf8, - 0x57, 0xb1, 0x2f, 0xc2, 0xbf, 0xb8, 0xb1, 0x28, 0xc9, 0xfd, 0x73, 0x11, 0xf3, 0xbd, 0xe5, 0x53, - 0xaa, 0x86, 0x27, 0x62, 0xea, 0xe0, 0x13, 0xe6, 0xb9, 0xc5, 0x9f, 0xe1, 0x62, 0x4b, 0x54, 0x8e, - 0xf4, 0x55, 0x84, 0x7d, 0x30, 0x25, 0x79, 0x09, 0x38, 0x14, 0x18, 0x61, 0x33, 0x90, 0xb1, 0x8b, - 0xce, 0x40, 0x18, 0x5d, 0x5f, 0x26, 0x5c, 0xee, 0xcb, 0x84, 0xc3, 0x3f, 0x39, 0xe6, 0x15, 0xb9, - 0xfa, 0x6f, 0x39, 0x98, 0xd0, 0xe3, 0x13, 0xd3, 0x57, 0x65, 0x58, 0x99, 0x91, 0x7b, 0x38, 0xfb, - 0x5f, 0x16, 0xd9, 0x2a, 0x93, 0xb2, 0x55, 0x56, 0xfd, 0xf7, 0x1c, 0xc0, 0x0e, 0x4e, 0x6e, 0x5f, - 0x95, 0xec, 0xc9, 0xdc, 0x70, 0x38, 0x9d, 0x1b, 0x66, 0x8b, 0x9b, 0xcf, 0x16, 0x37, 0xf5, 0x17, - 0x53, 0xe6, 0xb4, 0x64, 0xa5, 0x50, 0xfd, 0x36, 0x07, 0xf2, 0xd6, 0x21, 0x31, 0x8f, 0xfc, 0x6e, - 0x3b, 0x7d, 0x88, 0x91, 0xe8, 0x10, 0x77, 0x61, 0x74, 0xbf, 0x65, 0x1c, 0xbb, 0x1e, 0x8a, 0x5c, - 0x5e, 0xbb, 0x71, 0x76, 0x2d, 0x22, 0x38, 0xde, 0x43, 0x1a, 0x9d, 0xd3, 0x46, 0xff, 0xf3, 0x1d, - 0xc6, 0x22, 0x8d, 0x7d, 0x54, 0x7f, 0xca, 0x01, 0x30, 0xc7, 0x8a, 0x9a, 0xb4, 0x40, 0x35, 0x4c, - 0x93, 0x74, 0x02, 0x7a, 0x3d, 0x6c, 0xf4, 0x4d, 0x3c, 0x94, 0xa7, 0xb8, 0xb6, 0x7e, 0xde, 0x44, - 0x97, 0xff, 0x23, 0x07, 0x4f, 0xfd, 0x84, 0x91, 0x3e, 0x18, 0xd2, 0x27, 0x22, 0x86, 0x7c, 0x51, - 0xdd, 0x83, 0x89, 0x70, 0x5e, 0x15, 0x6e, 0x72, 0xe9, 0xf7, 0x6c, 0xa2, 0x84, 0xfc, 0xf8, 0xda, - 0x66, 0x9e, 0x1f, 0x77, 0xf3, 0x6f, 0x7f, 0xf8, 0xb9, 0x32, 0xf4, 0xe3, 0xcf, 0x95, 0xa1, 0xdf, - 0x7e, 0xae, 0xe4, 0xbe, 0x7d, 0x51, 0xc9, 0xfd, 0xf3, 0x8b, 0x4a, 0xee, 0x3f, 0x5e, 0x54, 0x72, - 0x3f, 0xbc, 0xa8, 0xe4, 0xfe, 0xfb, 0x45, 0x25, 0xf7, 0x3f, 0x2f, 0x2a, 0x43, 0xbf, 0xbd, 0xa8, - 0xe4, 0xbe, 0xff, 0xa5, 0x32, 0xf4, 0xc3, 0x2f, 0x95, 0xa1, 0x1f, 0x7f, 0xa9, 0x0c, 0x7d, 0x79, - 0xeb, 0xc0, 0x8d, 0x24, 0xb1, 0xdd, 0xd3, 0xff, 0xce, 0xff, 0x61, 0xec, 0x73, 0x6f, 0x14, 0xc3, - 0xc2, 0xfa, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xf2, 0xc5, 0x7e, 0xfc, 0x71, 0x32, 0x00, 0x00, + // 3635 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x3a, 0x4d, 0x73, 0xdb, 0xd6, + 0x76, 0xa6, 0x05, 0x49, 0xe0, 0x21, 0x45, 0x41, 0xd0, 0x17, 0xa4, 0xc8, 0x94, 0xcc, 0xd8, 0x89, + 0x9c, 0xd8, 0x54, 0x24, 0x3b, 0x75, 0x3e, 0xda, 0xb8, 0x92, 0x2c, 0xdb, 0x64, 0x1c, 0xdb, 0x81, + 0x94, 0x38, 0x93, 0x26, 0xc3, 0x81, 0x80, 0x2b, 0x09, 0x15, 0x09, 0xd0, 0x00, 0x28, 0x99, 0x99, + 0x2e, 0xb2, 0xe8, 0x64, 0x9d, 0xee, 0x3a, 0xd3, 0x3f, 0xd0, 0x65, 0x37, 0xdd, 0x77, 0xd1, 0x45, + 0x57, 0x9d, 0xec, 0x9a, 0x5d, 0x5f, 0x9c, 0xcd, 0xdb, 0xbc, 0x49, 0xe6, 0xfd, 0x82, 0x37, 0xf7, + 0xdc, 0x7b, 0xf1, 0x45, 0x48, 0x82, 0xfc, 0xe2, 0x45, 0x76, 0xc4, 0x3d, 0x1f, 0xf7, 0xdc, 0x73, + 0xcf, 0x3d, 0x9f, 0x84, 0x9b, 0x01, 0xe9, 0x74, 0x5d, 0xcf, 0x68, 0xaf, 0xf8, 0xc4, 0x3b, 0x22, + 0xde, 0x8a, 0xd1, 0xb5, 0x57, 0xba, 0xc4, 0xf3, 0x6d, 0x3f, 0x20, 0x8e, 0x49, 0x56, 0x8e, 0x56, + 0x57, 0xc8, 0x73, 0x62, 0xf6, 0x02, 0xdb, 0x75, 0xfc, 0x7a, 0xd7, 0x73, 0x03, 0x57, 0xad, 0x09, + 0xa2, 0x3a, 0x23, 0xaa, 0x1b, 0x5d, 0xbb, 0x1e, 0x23, 0xaa, 0x1f, 0xad, 0xce, 0x57, 0xf7, 0x5d, + 0x77, 0xbf, 0x4d, 0x56, 0x90, 0x62, 0xb7, 0xb7, 0xb7, 0x62, 0xf5, 0x3c, 0x83, 0x32, 0x61, 0x3c, + 0xe6, 0x17, 0xd3, 0xf0, 0xc0, 0xee, 0x10, 0x3f, 0x30, 0x3a, 0x5d, 0x8e, 0x70, 0xd9, 0x22, 0x5d, + 0xe2, 0x58, 0xc4, 0x31, 0x6d, 0xe2, 0xaf, 0xec, 0xbb, 0xfb, 0x2e, 0xae, 0xe3, 0x2f, 0x8e, 0x72, + 0x25, 0x14, 0x9e, 0x4a, 0x6d, 0xba, 0x9d, 0x8e, 0xeb, 0x50, 0x81, 0x3b, 0xc4, 0xf7, 0x8d, 0x7d, + 0x92, 0x89, 0x45, 0x9c, 0x5e, 0xc7, 0xa7, 0x48, 0xc7, 0xae, 0x77, 0xb8, 0xd7, 0x76, 0x8f, 0x39, + 0xd6, 0xd5, 0x04, 0xd6, 0x9e, 0x61, 0xb7, 0x7b, 0x1e, 0x19, 0x64, 0xf6, 0x46, 0x02, 0x4d, 0xf0, + 0x18, 0xc4, 0x7b, 0x2b, 0x4b, 0xaf, 0x66, 0xdb, 0x35, 0x0f, 0x07, 0x71, 0xaf, 0x65, 0xe1, 0x86, + 0x72, 0xb2, 0x63, 0x71, 0xd4, 0xb7, 0x4f, 0x45, 0x4d, 0x1d, 0xe9, 0xcd, 0x53, 0x91, 0x03, 0xc3, + 0x3f, 0xe4, 0x88, 0xef, 0xe6, 0xe2, 0xda, 0xa2, 0x14, 0xad, 0xa0, 0xdf, 0x15, 0x72, 0x5f, 0xcf, + 0x22, 0x3b, 0xb0, 0xfd, 0xc0, 0xf5, 0xfa, 0x83, 0xa7, 0x5c, 0xc9, 0x61, 0x69, 0xcf, 0x7a, 0xa4, + 0x47, 0xb8, 0x95, 0xcd, 0xdf, 0xc8, 0x22, 0x38, 0x51, 0xe3, 0xb5, 0xef, 0x46, 0xa1, 0xb8, 0x7d, + 0x60, 0x78, 0x56, 0xc3, 0xd9, 0x73, 0xd5, 0x39, 0x90, 0x7d, 0xfa, 0xd1, 0xb2, 0x2d, 0xad, 0xb0, + 0x54, 0x58, 0x1e, 0xd6, 0x47, 0xf1, 0xbb, 0x61, 0x51, 0x90, 0x67, 0x38, 0xfb, 0x84, 0x82, 0x2e, + 0x2e, 0x15, 0x96, 0x87, 0xf4, 0x51, 0xfc, 0x6e, 0x58, 0xea, 0x14, 0x0c, 0xbb, 0xc7, 0x0e, 0xf1, + 0xb4, 0xa1, 0xa5, 0xc2, 0x72, 0x51, 0x67, 0x1f, 0xea, 0x75, 0x50, 0xfd, 0xc0, 0x6d, 0x13, 0xa7, + 0xe5, 0xdb, 0x8e, 0x49, 0x5a, 0x1e, 0x71, 0xc8, 0xb1, 0x36, 0x82, 0x5c, 0x15, 0x06, 0xd9, 0xa6, + 0x00, 0x9d, 0xae, 0xab, 0xeb, 0x50, 0xea, 0x75, 0x2d, 0x23, 0x20, 0x2d, 0x6a, 0xd1, 0xda, 0xe8, + 0x52, 0x61, 0xb9, 0xb4, 0x36, 0x5f, 0x67, 0xe6, 0x5e, 0x17, 0xe6, 0x5e, 0xdf, 0x11, 0xe6, 0xbe, + 0x21, 0x7d, 0xff, 0xff, 0x8b, 0x05, 0x1d, 0x18, 0x11, 0x5d, 0x56, 0xff, 0xb9, 0x00, 0x73, 0x1e, + 0xe9, 0xb6, 0x6d, 0x13, 0x5f, 0x4c, 0xcb, 0x6a, 0x3f, 0x6b, 0x19, 0xe6, 0x61, 0xab, 0x4d, 0x8e, + 0x48, 0x5b, 0x1b, 0x5b, 0x1a, 0x5a, 0x2e, 0xad, 0x35, 0xea, 0x67, 0x3f, 0xc2, 0x7a, 0xa8, 0x8f, + 0xba, 0x1e, 0xb1, 0xbb, 0xdb, 0x7e, 0xb6, 0x6e, 0x1e, 0x3e, 0xa4, 0xbc, 0xb6, 0x9c, 0xc0, 0xeb, + 0xeb, 0x33, 0x5e, 0x26, 0x50, 0x3d, 0x04, 0x05, 0x2f, 0x24, 0xda, 0xdb, 0xd7, 0x14, 0xdc, 0x7c, + 0xfd, 0x7c, 0x9b, 0x7f, 0x4a, 0xb9, 0x08, 0xb6, 0x3e, 0xdb, 0xb4, 0xf2, 0x2c, 0xb1, 0xa8, 0x1a, + 0x50, 0x66, 0x9b, 0xf9, 0x81, 0x11, 0x10, 0x5f, 0x9b, 0xc0, 0x8d, 0x3e, 0x7a, 0x89, 0x8d, 0xb6, + 0x91, 0x01, 0xdb, 0xa5, 0xf4, 0x2c, 0x5a, 0x99, 0x6f, 0xc0, 0x6b, 0xa7, 0xa8, 0x41, 0x55, 0x60, + 0xe8, 0x90, 0xf4, 0xd1, 0x5a, 0x8a, 0x3a, 0xfd, 0x49, 0xcd, 0xe1, 0xc8, 0x68, 0xf7, 0x08, 0x37, + 0x13, 0xf6, 0xf1, 0xc1, 0xc5, 0xf7, 0x0a, 0xf3, 0x01, 0x4c, 0x66, 0x1c, 0x2a, 0xce, 0x62, 0x98, + 0xb1, 0xb8, 0x1f, 0x67, 0x51, 0x5a, 0x5b, 0xcd, 0x73, 0x9e, 0x04, 0xe7, 0xf8, 0xae, 0x0e, 0x28, + 0xe9, 0x13, 0x66, 0x6c, 0x79, 0x37, 0xb9, 0x65, 0x3d, 0xf7, 0x96, 0xc8, 0x36, 0xb6, 0x5f, 0x53, + 0x92, 0x25, 0x65, 0xb8, 0x29, 0xc9, 0xc3, 0xca, 0x48, 0x53, 0x92, 0x65, 0xa5, 0xd8, 0x94, 0xe4, + 0xa2, 0x02, 0x4d, 0x49, 0x06, 0xa5, 0xd4, 0x94, 0xe4, 0x92, 0x52, 0x6e, 0x4a, 0x72, 0x59, 0x19, + 0x6b, 0x4a, 0x72, 0x45, 0x19, 0x6f, 0x4a, 0xf2, 0xb8, 0xa2, 0xd4, 0xfe, 0xed, 0x0a, 0x4c, 0x3f, + 0xe5, 0xcf, 0x74, 0x4b, 0x84, 0x0e, 0x7c, 0x94, 0x97, 0xa1, 0xec, 0x18, 0x1d, 0xe2, 0x77, 0x0d, + 0x93, 0x88, 0x87, 0x59, 0xd4, 0x4b, 0xe1, 0x5a, 0xc3, 0x52, 0x17, 0xa1, 0x14, 0xfa, 0x1b, 0xfe, + 0x3e, 0x8b, 0x3a, 0x88, 0xa5, 0x86, 0xa5, 0xd6, 0x61, 0xb2, 0x6b, 0x78, 0xc4, 0x09, 0x5a, 0x09, + 0x56, 0xec, 0xc1, 0x4e, 0x30, 0xd0, 0xa3, 0x18, 0xc3, 0xeb, 0xa0, 0x72, 0xfc, 0x38, 0x5f, 0x09, + 0xd1, 0x15, 0x06, 0x79, 0x1a, 0x71, 0xaf, 0xc1, 0x18, 0xc7, 0xf6, 0x7a, 0x0e, 0x45, 0x1c, 0x66, + 0x22, 0xb2, 0x45, 0xbd, 0xe7, 0x24, 0x24, 0xb0, 0x1d, 0x3b, 0xb0, 0x8d, 0x80, 0xa0, 0x97, 0x19, + 0x41, 0x1b, 0xe1, 0x12, 0x34, 0x04, 0xa4, 0x61, 0xa9, 0xef, 0xc3, 0x9c, 0xe9, 0x76, 0xba, 0x6d, + 0x82, 0x6f, 0x99, 0x1c, 0x51, 0xca, 0x5d, 0x23, 0x30, 0x0f, 0x28, 0xd5, 0x28, 0x52, 0xcd, 0x44, + 0x08, 0x5b, 0x14, 0xbe, 0x41, 0xc1, 0x0d, 0x4b, 0xbd, 0x04, 0x80, 0x4e, 0x17, 0xad, 0x58, 0x2b, + 0xa2, 0x2c, 0x45, 0xba, 0x82, 0xf7, 0x45, 0xcf, 0x16, 0x39, 0xe7, 0x7e, 0x97, 0xa0, 0x4a, 0x34, + 0x60, 0x67, 0x13, 0x90, 0x9d, 0x7e, 0x97, 0x50, 0x85, 0xa8, 0x5f, 0xc3, 0x7c, 0x88, 0x1d, 0x86, + 0x74, 0x74, 0x52, 0x6e, 0x2f, 0xd0, 0x4a, 0x68, 0x2c, 0x73, 0x03, 0x7e, 0xea, 0x2e, 0x0f, 0xdb, + 0x1b, 0xd2, 0xbf, 0x52, 0x37, 0xa5, 0x1d, 0xa7, 0x6f, 0x76, 0x87, 0x31, 0x50, 0x3f, 0x85, 0xa9, + 0x90, 0x3d, 0x55, 0x9e, 0x60, 0x5c, 0xce, 0xc7, 0x38, 0x3c, 0x89, 0xde, 0x0b, 0x59, 0xee, 0xc2, + 0x25, 0x8b, 0xec, 0x19, 0xbd, 0x76, 0xec, 0xf2, 0x58, 0x10, 0xe2, 0xbc, 0xc7, 0xf2, 0xf1, 0x9e, + 0xe7, 0x5c, 0xc4, 0x45, 0xef, 0x18, 0xfe, 0xa1, 0xd8, 0xe3, 0x6d, 0x50, 0xdb, 0x86, 0x1f, 0xf0, + 0x7b, 0x41, 0xee, 0xb6, 0xa5, 0x4d, 0xe0, 0xb5, 0x8c, 0x53, 0x08, 0x5e, 0x08, 0xa5, 0x68, 0x58, + 0xea, 0x0d, 0x98, 0x44, 0xe4, 0x3d, 0xdb, 0x0b, 0x49, 0x6c, 0x4b, 0x53, 0x11, 0x5b, 0xa1, 0xa0, + 0x7b, 0x14, 0x82, 0x24, 0x0d, 0x4b, 0xfd, 0x18, 0x5e, 0x47, 0xf4, 0xa4, 0xf0, 0x7e, 0x60, 0x78, + 0xd4, 0x66, 0x42, 0xf2, 0x49, 0x24, 0xaf, 0x52, 0xd4, 0xb8, 0x84, 0xdb, 0x0c, 0x4f, 0x30, 0xbb, + 0x03, 0x80, 0x94, 0x2c, 0xac, 0x4c, 0xe5, 0x0c, 0x2b, 0x45, 0xa4, 0xc1, 0xa8, 0xd2, 0x04, 0x94, + 0xb0, 0x15, 0x8f, 0x4e, 0xd3, 0x39, 0xd9, 0x54, 0x28, 0xe5, 0x67, 0x51, 0x84, 0x5a, 0x83, 0xe9, + 0xe4, 0xa1, 0x8e, 0xa8, 0x3f, 0x71, 0x1d, 0x6d, 0x06, 0xcf, 0x32, 0x79, 0x1c, 0x3b, 0xc7, 0xe7, + 0x0c, 0xa4, 0xde, 0x83, 0xa5, 0x94, 0x22, 0xcc, 0x03, 0x62, 0xf5, 0xda, 0x71, 0x55, 0xcc, 0x22, + 0xf9, 0x42, 0x9c, 0x7c, 0x5b, 0x60, 0x09, 0x45, 0x6c, 0x40, 0xf5, 0x0c, 0x85, 0x6a, 0xc8, 0x65, + 0xfe, 0xf8, 0x64, 0x65, 0x6e, 0xa7, 0xe5, 0x17, 0x16, 0x35, 0x97, 0xcf, 0xa2, 0x12, 0x07, 0x14, + 0xa6, 0x34, 0xa0, 0x14, 0x23, 0xa0, 0xae, 0x37, 0xd0, 0xe6, 0xd1, 0x39, 0x27, 0x68, 0xd6, 0x19, + 0x28, 0xf1, 0x28, 0x13, 0x87, 0xc1, 0xeb, 0x79, 0x2d, 0xe7, 0xf5, 0xcc, 0x66, 0x1c, 0x15, 0xef, + 0xc9, 0x80, 0x85, 0x93, 0x74, 0x8e, 0x1b, 0x2c, 0xe4, 0xdc, 0x60, 0x2e, 0xf3, 0x46, 0x70, 0x0b, + 0x0f, 0xae, 0x26, 0xb7, 0x70, 0x3d, 0x7b, 0xdf, 0x76, 0x8c, 0x76, 0x7a, 0xaf, 0x6a, 0xce, 0xbd, + 0x2e, 0xc7, 0xf7, 0x7a, 0xcc, 0x99, 0x25, 0xf7, 0xbc, 0x0d, 0x5a, 0x72, 0x4f, 0x8f, 0x3c, 0xeb, + 0x11, 0x1f, 0x2f, 0x7f, 0x11, 0xdd, 0xdf, 0x74, 0x9c, 0x89, 0xce, 0xa0, 0x0d, 0x4b, 0xfd, 0x2a, + 0xee, 0x31, 0x45, 0x3a, 0xab, 0xdd, 0x5d, 0x2a, 0x2c, 0x57, 0x4e, 0x08, 0x94, 0x98, 0x06, 0xd3, + 0x10, 0x99, 0x70, 0x1e, 0xfd, 0x2e, 0x89, 0x79, 0x58, 0xbe, 0xa2, 0x3e, 0x4e, 0xab, 0xc2, 0xef, + 0xed, 0xef, 0x53, 0xb1, 0x4c, 0xd7, 0x09, 0x6c, 0x87, 0x66, 0x52, 0x7e, 0x8b, 0xe6, 0x8e, 0x5b, + 0x4b, 0x85, 0x65, 0x59, 0x5f, 0x4a, 0x28, 0x95, 0xa1, 0x6e, 0x72, 0xcc, 0x75, 0xff, 0x11, 0x39, + 0x1e, 0x7c, 0x32, 0x3c, 0xbb, 0x6e, 0xf9, 0xf6, 0x37, 0xa4, 0xb5, 0xdb, 0xa7, 0x89, 0xd2, 0xbd, + 0xc1, 0x27, 0xf3, 0x80, 0x61, 0x6d, 0xdb, 0xdf, 0x90, 0x0d, 0x8a, 0xa3, 0x5e, 0x03, 0xc5, 0x34, + 0x1c, 0x93, 0xb4, 0x85, 0xa2, 0x88, 0xa5, 0x5d, 0x42, 0x19, 0xc6, 0xd9, 0xba, 0x2e, 0x96, 0xd5, + 0xb7, 0x60, 0x22, 0x89, 0x4a, 0x75, 0xba, 0x84, 0x3a, 0x4d, 0xe2, 0x36, 0x10, 0xd7, 0x0f, 0x6c, + 0xf3, 0xb0, 0xdf, 0x8a, 0x45, 0xa9, 0xcb, 0x0c, 0x97, 0x01, 0x76, 0xc2, 0x58, 0xb5, 0x0f, 0x4b, + 0x1c, 0x57, 0x98, 0x45, 0x2b, 0x70, 0x5b, 0x91, 0x47, 0xa3, 0x8f, 0xaf, 0x96, 0xef, 0xf1, 0x2d, + 0x30, 0x46, 0xc2, 0x24, 0x76, 0xdc, 0x6d, 0xe1, 0xe3, 0xe8, 0x2b, 0xd4, 0x60, 0x54, 0xbc, 0xbb, + 0xd7, 0x59, 0xe2, 0xcf, 0x3f, 0xd5, 0xcf, 0x60, 0xc6, 0x23, 0x81, 0xd7, 0xe7, 0x71, 0xbb, 0xdd, + 0xb2, 0x9d, 0x80, 0x78, 0x47, 0x46, 0x5b, 0xbb, 0x92, 0x6f, 0xe3, 0x29, 0x24, 0x67, 0xb1, 0xbd, + 0xdd, 0xe0, 0xc4, 0x11, 0xdb, 0x8e, 0xf1, 0xdc, 0xee, 0xf4, 0x3a, 0x11, 0xdb, 0xab, 0xe7, 0x61, + 0xfb, 0x09, 0xa3, 0x0e, 0xd9, 0xde, 0x4a, 0xb3, 0xe5, 0xc7, 0xf0, 0xb5, 0x37, 0xf0, 0x58, 0x09, + 0x2a, 0xee, 0x4e, 0x7c, 0xf5, 0x03, 0x5a, 0x39, 0x50, 0xaa, 0x5d, 0xc3, 0x3c, 0x74, 0xf7, 0xf6, + 0x5a, 0xa6, 0x4b, 0xf6, 0xf6, 0x6c, 0xd3, 0x26, 0x4e, 0xa0, 0xbd, 0xb9, 0x54, 0x58, 0x2e, 0xe8, + 0xb3, 0x88, 0xb0, 0xc1, 0xe0, 0x9b, 0x11, 0x58, 0xed, 0x40, 0x2d, 0x23, 0x41, 0x20, 0xcf, 0xbb, + 0x36, 0x13, 0x97, 0x3d, 0xe3, 0xe5, 0x9c, 0xcf, 0x78, 0x71, 0x20, 0x53, 0xd8, 0x0a, 0x39, 0xe1, + 0x23, 0xbe, 0x0b, 0x8b, 0x4c, 0x54, 0xc7, 0x75, 0x5a, 0xf8, 0xcb, 0xd8, 0x6d, 0x93, 0x16, 0xf1, + 0x3c, 0xd7, 0xc3, 0x77, 0xe9, 0x6b, 0xd7, 0x96, 0x86, 0x96, 0x8b, 0xfa, 0x6b, 0x08, 0x7c, 0xe4, + 0x3a, 0xba, 0x40, 0xda, 0xa2, 0x38, 0xf4, 0xc9, 0xf9, 0xea, 0x32, 0x28, 0x07, 0x86, 0xcf, 0xe8, + 0x5b, 0x5d, 0xb7, 0x6d, 0x9b, 0x7d, 0xed, 0x2d, 0x34, 0xed, 0xca, 0x81, 0xe1, 0x23, 0xc5, 0x13, + 0x5c, 0x55, 0x5f, 0x87, 0x31, 0xd3, 0x73, 0x9d, 0xd0, 0xfe, 0xb4, 0xb7, 0xd1, 0x52, 0xcb, 0x74, + 0x51, 0xd8, 0x12, 0x4d, 0x51, 0x7d, 0x7b, 0x9f, 0x7a, 0x2f, 0xd3, 0xed, 0x39, 0x81, 0x56, 0xc7, + 0xd7, 0x55, 0x62, 0x6b, 0x9b, 0x74, 0x49, 0xbd, 0x0a, 0x15, 0xc3, 0x0c, 0xec, 0x23, 0x3b, 0xe8, + 0x73, 0xa4, 0xfb, 0x88, 0x34, 0x26, 0x56, 0x19, 0xda, 0x1a, 0x4c, 0x9b, 0x07, 0x76, 0xdb, 0x8a, + 0xa9, 0x92, 0x61, 0x3f, 0x60, 0x21, 0x12, 0x81, 0xa1, 0x6e, 0x18, 0xcd, 0x32, 0x28, 0x3d, 0x9f, + 0x78, 0xa8, 0x68, 0x8f, 0xa3, 0x37, 0x10, 0xbd, 0x42, 0xd7, 0xa9, 0xda, 0x3c, 0x86, 0xb9, 0x0e, + 0x97, 0xc4, 0xfb, 0xe4, 0xcf, 0x95, 0x3c, 0x0f, 0x88, 0x17, 0x09, 0xde, 0x64, 0x31, 0x90, 0x23, + 0x6d, 0x22, 0xce, 0x16, 0x47, 0x09, 0x05, 0xe4, 0x47, 0x4d, 0x91, 0x7e, 0xcc, 0x04, 0x64, 0xc0, + 0x24, 0xcd, 0xa7, 0x30, 0x61, 0xf4, 0x02, 0xb7, 0xe5, 0x11, 0x9f, 0x04, 0xad, 0xae, 0x6b, 0x3b, + 0x81, 0xaf, 0xdd, 0x44, 0x8b, 0xb8, 0x1a, 0xb9, 0x4f, 0xea, 0x37, 0xc3, 0x5e, 0xc4, 0xd1, 0x6a, + 0x5d, 0xa7, 0xd8, 0x4f, 0x10, 0x59, 0x1f, 0xa7, 0xf4, 0xb1, 0x05, 0xf5, 0x9f, 0x60, 0xc2, 0x27, + 0x86, 0x67, 0x1e, 0x50, 0x03, 0xf7, 0xec, 0xdd, 0x1e, 0x75, 0x6a, 0xb7, 0xb0, 0xfa, 0x7b, 0x9c, + 0xa7, 0x74, 0xc9, 0x2c, 0x35, 0xea, 0xdb, 0xc8, 0x72, 0x3d, 0xe4, 0xc8, 0xca, 0x41, 0xc5, 0x4f, + 0x2d, 0xab, 0x4f, 0x41, 0xea, 0x90, 0x8e, 0xab, 0xbd, 0x8b, 0x1b, 0x6e, 0xbe, 0xfc, 0x86, 0x9f, + 0x90, 0x8e, 0xcb, 0x36, 0x41, 0x86, 0xea, 0xd7, 0x30, 0xc1, 0x73, 0x22, 0xee, 0xb4, 0x6d, 0xe2, + 0x6b, 0x7f, 0x83, 0x9a, 0x7a, 0x27, 0x73, 0x17, 0xee, 0xda, 0xe9, 0x0e, 0x3c, 0x63, 0x7a, 0x20, + 0xe8, 0x74, 0xe5, 0x28, 0xb5, 0xa2, 0xde, 0x84, 0x19, 0x9e, 0x84, 0x86, 0xd6, 0xc5, 0x2b, 0x96, + 0xdb, 0x68, 0xd5, 0x93, 0x08, 0x0d, 0x45, 0x64, 0x95, 0xcb, 0x3f, 0xc0, 0x78, 0x84, 0x4e, 0xeb, + 0x6c, 0x5f, 0x7b, 0x0f, 0x25, 0x5a, 0xcb, 0x73, 0xee, 0x90, 0x19, 0xad, 0x13, 0x7d, 0xbd, 0x42, + 0x12, 0xdf, 0x89, 0x54, 0x83, 0x8a, 0x92, 0xf6, 0x1b, 0xef, 0x9f, 0x37, 0xd5, 0xd0, 0x7b, 0x69, + 0x8f, 0x71, 0x0b, 0x66, 0x07, 0xd2, 0xef, 0xe0, 0x39, 0x9e, 0xfa, 0x03, 0x66, 0xb3, 0xc9, 0x14, + 0x7c, 0xe7, 0x39, 0x3d, 0xf5, 0x2d, 0x98, 0xc1, 0x9e, 0x42, 0x2b, 0xf0, 0x0c, 0xc7, 0xb7, 0x63, + 0x2f, 0xf1, 0x43, 0x24, 0x9a, 0x42, 0xe8, 0x4e, 0x08, 0x64, 0x96, 0x7e, 0x1f, 0x2a, 0xc9, 0x22, + 0x49, 0xfb, 0xdb, 0x9c, 0x07, 0x18, 0x23, 0xf1, 0xd2, 0x48, 0x5d, 0x81, 0x29, 0x87, 0x1c, 0x0f, + 0xde, 0xd3, 0xdf, 0xb1, 0x8a, 0xd5, 0x21, 0xc7, 0xa9, 0x5b, 0x7a, 0x08, 0x65, 0x5e, 0x5f, 0x62, + 0xbf, 0x50, 0xfb, 0x08, 0xf7, 0xbd, 0x96, 0x79, 0x45, 0x88, 0xc1, 0x4c, 0xc6, 0x0c, 0x5c, 0x6f, + 0x93, 0x7e, 0x8a, 0x6a, 0x15, 0x3f, 0xd4, 0xf7, 0x40, 0x1b, 0xa8, 0x56, 0x45, 0xb2, 0x7e, 0x87, + 0x15, 0x9f, 0xa9, 0x92, 0x55, 0xe4, 0xeb, 0x37, 0x61, 0xc6, 0x6c, 0xbb, 0x3e, 0xd7, 0xdb, 0x1e, + 0x75, 0x4b, 0xbc, 0x3a, 0xfa, 0x7b, 0xee, 0xc1, 0x28, 0x74, 0x87, 0x03, 0x79, 0x85, 0x74, 0x1b, + 0x34, 0x46, 0x74, 0x64, 0xfb, 0xf6, 0xae, 0xdd, 0xa6, 0x4e, 0x52, 0x90, 0xad, 0x23, 0xd9, 0x34, + 0xc2, 0x3f, 0x0f, 0xc1, 0x9c, 0xf0, 0x0e, 0x00, 0xdf, 0x8d, 0xea, 0x7a, 0x23, 0x6f, 0x79, 0xc3, + 0x64, 0xa0, 0x7a, 0xde, 0x82, 0xc5, 0xec, 0x9d, 0x79, 0x6d, 0x4d, 0x2c, 0x6d, 0x13, 0xe3, 0xc2, + 0x42, 0x86, 0x00, 0x9b, 0x02, 0x47, 0xdd, 0x85, 0xc9, 0x5d, 0xc3, 0x27, 0xb1, 0xfb, 0xb2, 0x9d, + 0x3d, 0x57, 0x7b, 0x78, 0xca, 0x3b, 0x89, 0xbb, 0xba, 0x0d, 0xc3, 0x27, 0x09, 0xc7, 0xa0, 0x4f, + 0xec, 0xa6, 0x97, 0xe6, 0x2d, 0x98, 0xce, 0xf4, 0x4f, 0x19, 0x2d, 0xa8, 0x77, 0x93, 0xcd, 0x9c, + 0xc5, 0xa4, 0x93, 0xe5, 0xbd, 0xe1, 0xa3, 0xd5, 0xfa, 0x13, 0xa3, 0xdf, 0x76, 0x0d, 0x2b, 0xde, + 0x2d, 0xfa, 0x02, 0x8a, 0xa1, 0x53, 0xfa, 0x4d, 0x39, 0x87, 0xbd, 0xa0, 0xb0, 0xe7, 0xd3, 0x94, + 0x64, 0x45, 0x99, 0x68, 0x4a, 0xf2, 0x75, 0xe5, 0x46, 0x53, 0x92, 0x6f, 0x28, 0xf5, 0xa6, 0x24, + 0xaf, 0x28, 0xef, 0x34, 0x25, 0xf9, 0x1d, 0x65, 0xb5, 0x29, 0xc9, 0xab, 0xca, 0x5a, 0x53, 0x92, + 0xd7, 0x94, 0x9b, 0xb5, 0x9b, 0x50, 0x49, 0x3a, 0x12, 0x1a, 0x72, 0xe3, 0x69, 0x2d, 0xca, 0x38, + 0xa4, 0x97, 0x0e, 0xa2, 0x24, 0xb6, 0xf6, 0x4b, 0x01, 0x66, 0x06, 0xdc, 0x2e, 0xb6, 0xab, 0x30, + 0x5f, 0xf5, 0x08, 0x7d, 0xde, 0xb1, 0x7c, 0xb5, 0xc0, 0xf3, 0x55, 0x04, 0x44, 0xf9, 0xea, 0x34, + 0x8c, 0xf0, 0xc7, 0xc7, 0xfa, 0x4a, 0xc3, 0x1e, 0x3e, 0xb8, 0x26, 0x0c, 0xa3, 0x0b, 0xc0, 0x26, + 0x52, 0x65, 0xed, 0x56, 0xbe, 0x3a, 0x20, 0x29, 0x87, 0xce, 0x58, 0xa8, 0xf7, 0x60, 0x84, 0xfe, + 0xe8, 0xf9, 0xd8, 0x62, 0x4a, 0x14, 0x15, 0x67, 0x73, 0xe9, 0xf9, 0x3a, 0xa7, 0xae, 0xfd, 0x79, + 0x04, 0x94, 0xc4, 0xd3, 0xfa, 0xad, 0xfa, 0x67, 0x91, 0x0e, 0x86, 0xe2, 0x3a, 0xd8, 0x84, 0x62, + 0x54, 0x0f, 0x31, 0xd1, 0xdf, 0x38, 0x5d, 0x0f, 0x61, 0x1d, 0x24, 0x07, 0xa2, 0xfe, 0xa9, 0xc3, + 0x64, 0x60, 0x78, 0xfb, 0x24, 0xd5, 0x9b, 0x63, 0x3d, 0xb4, 0x09, 0x06, 0x4a, 0xf5, 0xe6, 0x38, + 0x7e, 0x5c, 0xe6, 0x11, 0xd6, 0xbf, 0x62, 0x90, 0x64, 0x6f, 0x8e, 0x63, 0xf3, 0x03, 0x8c, 0xb2, + 0xe3, 0xb3, 0x45, 0xe6, 0x3b, 0x93, 0x0d, 0x33, 0x39, 0xdd, 0x30, 0xfb, 0x10, 0xe6, 0x39, 0x0b, + 0x96, 0x9a, 0x85, 0xdb, 0xba, 0x4e, 0xbb, 0x8f, 0xfd, 0x35, 0x59, 0x9f, 0x65, 0x18, 0x9b, 0x14, + 0x41, 0xec, 0xfe, 0xd8, 0x69, 0xf7, 0x71, 0x0c, 0x30, 0xd8, 0xb1, 0x00, 0xd6, 0xfb, 0xf1, 0xd3, + 0x5d, 0x0a, 0x0d, 0x46, 0x85, 0x9b, 0x2d, 0xb1, 0x21, 0x03, 0xff, 0x54, 0x67, 0x61, 0x54, 0x78, + 0xc4, 0x32, 0x42, 0x46, 0x02, 0xe6, 0x02, 0x1b, 0x30, 0x1e, 0xf7, 0x5d, 0xd4, 0x0f, 0x8e, 0xe5, + 0xed, 0xcf, 0x44, 0x84, 0xe8, 0x0c, 0xaf, 0x83, 0x6a, 0x11, 0xea, 0xd0, 0x5a, 0xc6, 0x5e, 0x40, + 0x53, 0x49, 0xea, 0xf2, 0xb4, 0x71, 0x3c, 0xa0, 0xc2, 0x20, 0xeb, 0x14, 0xb0, 0x49, 0xd7, 0xd5, + 0x7f, 0x29, 0x00, 0x73, 0x8a, 0xf1, 0xbe, 0x20, 0x15, 0xd1, 0x22, 0x81, 0x61, 0x63, 0xd7, 0x9f, + 0x8a, 0xf1, 0x28, 0x4f, 0x96, 0x90, 0x36, 0xda, 0x3a, 0x6e, 0x11, 0x75, 0x0b, 0x0d, 0xff, 0xf0, + 0x2e, 0xe3, 0xfa, 0xe0, 0x82, 0x3e, 0x67, 0x9e, 0x04, 0x9c, 0xff, 0x0a, 0xe6, 0x4e, 0xa4, 0x54, + 0xef, 0xc0, 0x82, 0x69, 0x38, 0x2d, 0xff, 0xd0, 0xee, 0xc6, 0xdd, 0x3d, 0x75, 0xa9, 0x36, 0x2d, + 0xbc, 0x0a, 0x78, 0xd0, 0x39, 0xd3, 0x70, 0xb6, 0x0f, 0xed, 0x6e, 0xe4, 0xea, 0xd7, 0x39, 0xc2, + 0x46, 0x05, 0xca, 0xf1, 0x03, 0x32, 0x5f, 0x56, 0xfb, 0x4f, 0x09, 0x26, 0x63, 0x13, 0x82, 0xdf, + 0xcd, 0xbb, 0x8b, 0xd9, 0xda, 0x70, 0xd2, 0xd6, 0xae, 0x40, 0x25, 0xd5, 0xab, 0x64, 0x6d, 0xea, + 0xf2, 0x5e, 0xbc, 0x4f, 0x59, 0x83, 0x31, 0x87, 0x3c, 0x8f, 0x21, 0xb1, 0xae, 0x74, 0x89, 0x2e, + 0x0a, 0x9c, 0x6c, 0xeb, 0x97, 0x4f, 0xb0, 0xfe, 0xcb, 0x50, 0xde, 0xf5, 0x0c, 0xc7, 0x3c, 0x68, + 0x05, 0xee, 0x21, 0x61, 0x4f, 0xa0, 0xac, 0x97, 0xd8, 0xda, 0x0e, 0x5d, 0x12, 0x79, 0x11, 0x55, + 0x4a, 0x02, 0x75, 0x0c, 0x51, 0x69, 0x5e, 0xa4, 0xf7, 0x9c, 0x8d, 0x18, 0x41, 0xec, 0xdd, 0x8c, + 0x9f, 0xf5, 0x6e, 0x94, 0x97, 0x7c, 0x37, 0x0b, 0x00, 0x42, 0x28, 0xde, 0x05, 0x2e, 0xea, 0x32, + 0x13, 0xa5, 0x61, 0xa5, 0xa6, 0x1f, 0xe1, 0xdc, 0xa3, 0xf6, 0xa7, 0x21, 0x50, 0x53, 0x09, 0xcd, + 0xef, 0xdb, 0x6c, 0x62, 0xaa, 0x1e, 0x39, 0x4b, 0xd5, 0xa3, 0x2f, 0xa9, 0xea, 0x64, 0xc2, 0x27, + 0x9f, 0x3f, 0xe1, 0x4b, 0x36, 0xc4, 0x8b, 0xe7, 0x6f, 0x88, 0x9f, 0x96, 0xab, 0xc2, 0x29, 0xb9, + 0x6a, 0xed, 0x17, 0x09, 0xc6, 0xb0, 0x16, 0xff, 0xdd, 0x5c, 0xf5, 0x16, 0x94, 0x79, 0x93, 0x8d, + 0xf1, 0x19, 0x46, 0x3e, 0xb5, 0x13, 0x92, 0x13, 0xde, 0x4a, 0x43, 0x1e, 0xa5, 0x20, 0xfa, 0x50, + 0x49, 0xac, 0xc3, 0x2d, 0x1a, 0x4c, 0xc8, 0x6f, 0x04, 0xf9, 0xad, 0xe6, 0xcb, 0x9c, 0x78, 0xeb, + 0x09, 0xd9, 0x87, 0x4d, 0xf1, 0xd8, 0x62, 0xdc, 0x30, 0x47, 0x93, 0x86, 0x79, 0x0d, 0x42, 0x5f, + 0x13, 0x76, 0xd7, 0x65, 0x6c, 0x87, 0x8d, 0x8b, 0x75, 0xd1, 0x59, 0x9f, 0x03, 0x39, 0x74, 0x53, + 0x45, 0xc6, 0x85, 0x70, 0xef, 0x14, 0x33, 0x6f, 0x38, 0xcb, 0xbc, 0x4b, 0x2f, 0x69, 0xde, 0x69, + 0x0f, 0x58, 0x1e, 0xf4, 0x80, 0xd7, 0x40, 0x31, 0xda, 0x1e, 0x31, 0x2c, 0x11, 0xb9, 0x88, 0x85, + 0xde, 0x4f, 0xd6, 0xc7, 0xf9, 0xfa, 0x3a, 0x5f, 0xae, 0xfd, 0xc7, 0x45, 0x50, 0x44, 0xf0, 0x0a, + 0x8d, 0x2e, 0x76, 0x8c, 0x42, 0xe2, 0x18, 0x69, 0x6b, 0xbc, 0x78, 0xa6, 0x35, 0x0e, 0x9d, 0x62, + 0x8d, 0xd2, 0x89, 0xd6, 0x38, 0xfc, 0xd7, 0x3b, 0x9e, 0x91, 0xe4, 0xfd, 0xfe, 0x76, 0xfe, 0xa5, + 0xf6, 0x5d, 0x05, 0xca, 0xeb, 0xbc, 0x23, 0x87, 0xea, 0x8a, 0xed, 0x5a, 0x48, 0xee, 0x7a, 0x1b, + 0xb4, 0x74, 0x6c, 0x0b, 0x07, 0xb4, 0x6c, 0xf4, 0x3f, 0x9d, 0x8c, 0x70, 0x62, 0x3e, 0x7b, 0x1f, + 0x2a, 0xa9, 0x21, 0x87, 0x94, 0xb7, 0x49, 0xe0, 0x27, 0x06, 0x1a, 0xcb, 0xa0, 0x0c, 0x4c, 0xb1, + 0x98, 0x4f, 0xae, 0xf8, 0xc9, 0xc9, 0xd5, 0x26, 0x94, 0x13, 0x23, 0xa2, 0xbc, 0xea, 0x29, 0xf9, + 0xb1, 0xb1, 0xd0, 0x22, 0x94, 0xc2, 0x16, 0x26, 0x8f, 0xe2, 0x45, 0x1d, 0xc4, 0x12, 0xcb, 0xa3, + 0x63, 0xe5, 0x14, 0x1f, 0x3c, 0x7b, 0x61, 0x21, 0xf5, 0x25, 0xcc, 0x9d, 0xdc, 0xc5, 0x87, 0x7c, + 0x5d, 0xef, 0x19, 0x3f, 0xbb, 0x7f, 0x9f, 0xe2, 0x1d, 0xc5, 0x88, 0x73, 0x4c, 0xa9, 0x63, 0xbc, + 0x37, 0x45, 0xbc, 0xa0, 0xbc, 0x77, 0xb0, 0x15, 0x44, 0x65, 0x4d, 0x33, 0xce, 0x39, 0xa5, 0x9e, + 0x64, 0xd1, 0x23, 0xc9, 0xf5, 0x21, 0x4c, 0x1c, 0x10, 0xc3, 0x0b, 0x76, 0x89, 0x11, 0x9c, 0x77, + 0x34, 0xad, 0x84, 0x94, 0x82, 0x5b, 0xd6, 0xac, 0xa6, 0x72, 0x8e, 0x59, 0x0d, 0xcb, 0x8d, 0xb2, + 0x66, 0x35, 0xac, 0xab, 0x2c, 0xa6, 0x8c, 0xb4, 0x46, 0x55, 0x98, 0xeb, 0x0c, 0x44, 0x2c, 0x63, + 0x45, 0x68, 0x7c, 0x84, 0x32, 0x91, 0x1c, 0xa1, 0x24, 0xeb, 0x2b, 0x35, 0x5d, 0x5f, 0x5d, 0x8b, + 0xcc, 0xd8, 0xb6, 0x88, 0x13, 0xd8, 0x41, 0x1f, 0xa7, 0xdb, 0x38, 0x0f, 0xc2, 0xf5, 0x06, 0x5f, + 0xce, 0xec, 0xdb, 0x4f, 0x65, 0xf6, 0xed, 0x4f, 0x1e, 0xdb, 0x4c, 0xbf, 0x9a, 0xb1, 0xcd, 0xcc, + 0xab, 0x19, 0xdb, 0xcc, 0x9e, 0x32, 0xb6, 0xd9, 0x81, 0x69, 0x46, 0x95, 0xee, 0x9a, 0x6a, 0x39, + 0x9f, 0xf7, 0x24, 0x92, 0xa7, 0xfa, 0xa5, 0xa7, 0x0e, 0x83, 0xe6, 0x4e, 0x1f, 0x06, 0xe5, 0x98, + 0xce, 0xcc, 0x9f, 0x3d, 0x9d, 0x79, 0x04, 0x2a, 0xe3, 0xc2, 0xfa, 0xb6, 0xec, 0x5f, 0x95, 0x7c, + 0xac, 0xbd, 0x94, 0xcc, 0x3e, 0x38, 0x90, 0x86, 0x8c, 0x7b, 0xec, 0xa7, 0xae, 0x20, 0xed, 0x43, + 0xc3, 0x0f, 0xf8, 0x0a, 0x2d, 0xe0, 0x63, 0xfc, 0x68, 0xb8, 0x22, 0x5e, 0x64, 0x6a, 0x0b, 0x68, + 0x6a, 0xb3, 0x21, 0xd5, 0x53, 0x84, 0x87, 0x26, 0x97, 0x5d, 0xc2, 0x54, 0x4f, 0x28, 0x61, 0x3e, + 0x87, 0x19, 0xdc, 0x24, 0x7a, 0xda, 0xa2, 0x1a, 0x5e, 0xcc, 0x12, 0x7f, 0xa0, 0x61, 0xe6, 0xeb, + 0x53, 0x94, 0xfe, 0x81, 0x20, 0x17, 0xb5, 0xeb, 0xd7, 0x30, 0x9f, 0xe2, 0x1b, 0xff, 0x43, 0xc6, + 0x52, 0xde, 0x89, 0x7f, 0x82, 0x77, 0xf4, 0xcf, 0x8c, 0xa6, 0x24, 0x0f, 0x29, 0x52, 0x53, 0x92, + 0x47, 0x94, 0xd1, 0xa6, 0x24, 0x5f, 0x52, 0xaa, 0xb5, 0xff, 0x2d, 0x40, 0x11, 0xb3, 0xd5, 0x33, + 0xa2, 0x60, 0x56, 0x0c, 0xba, 0x98, 0x19, 0x83, 0xd6, 0xa1, 0x84, 0x76, 0xca, 0x23, 0xf4, 0x50, + 0xde, 0xbf, 0x38, 0x32, 0x22, 0x11, 0x81, 0xe2, 0x8e, 0x48, 0xc2, 0x7d, 0xd0, 0xb7, 0x70, 0x1f, + 0x34, 0x07, 0x32, 0xf3, 0x57, 0x61, 0x03, 0x69, 0x14, 0xbf, 0x1b, 0x56, 0xed, 0xff, 0x24, 0x50, + 0x37, 0x13, 0xd3, 0xb3, 0xb3, 0xe3, 0x7b, 0xd4, 0xfc, 0xce, 0x8e, 0xef, 0x21, 0x3c, 0x11, 0xdf, + 0xb3, 0x54, 0x32, 0x94, 0xa9, 0x92, 0x3a, 0x4c, 0x0a, 0xcc, 0x78, 0x5e, 0xc5, 0x5b, 0x5f, 0x1c, + 0x14, 0x6b, 0x66, 0x5d, 0x01, 0xc1, 0x41, 0x14, 0x9b, 0xac, 0xed, 0x25, 0x82, 0x3b, 0x6b, 0x67, + 0x65, 0x36, 0x37, 0xe5, 0xec, 0xe6, 0xe6, 0x02, 0x14, 0xc3, 0x04, 0x4f, 0x44, 0xec, 0x70, 0xe1, + 0x9c, 0x7f, 0x15, 0xfb, 0x22, 0xfc, 0x8b, 0x1b, 0x8b, 0x92, 0xdc, 0x3f, 0x97, 0x30, 0xdf, 0x5b, + 0x3e, 0xa1, 0x6a, 0x78, 0x22, 0xa6, 0x0e, 0x3e, 0x61, 0x9e, 0x5b, 0xfc, 0x19, 0x2e, 0xb6, 0x44, + 0xe5, 0x48, 0x5f, 0x45, 0xd8, 0x07, 0x53, 0x92, 0x97, 0x80, 0x43, 0x81, 0x61, 0x36, 0x03, 0x19, + 0x3b, 0xef, 0x0c, 0x84, 0xd1, 0x0d, 0x64, 0xc2, 0x95, 0x81, 0x4c, 0x38, 0xfc, 0x93, 0xe3, 0xa8, + 0x22, 0xd7, 0xfe, 0xab, 0x00, 0x13, 0x7a, 0x7c, 0x62, 0xfa, 0xaa, 0x0c, 0x2b, 0x33, 0x72, 0x0f, + 0x65, 0xff, 0xcb, 0x22, 0x5b, 0x65, 0x52, 0xb6, 0xca, 0x6a, 0xff, 0x5d, 0x00, 0xd8, 0xc6, 0xc9, + 0xed, 0xab, 0x92, 0x3d, 0x99, 0x1b, 0x0e, 0xa5, 0x73, 0xc3, 0x6c, 0x71, 0x47, 0xb3, 0xc5, 0x4d, + 0xfd, 0xc5, 0x94, 0x39, 0x2d, 0x59, 0x29, 0xd6, 0xbe, 0x2d, 0x80, 0xbc, 0x79, 0x40, 0xcc, 0x43, + 0xbf, 0xd7, 0x49, 0x1f, 0x62, 0x38, 0x3a, 0xc4, 0x5d, 0x18, 0xd9, 0x6b, 0x1b, 0x47, 0xae, 0x87, + 0x22, 0x57, 0xd6, 0xae, 0x9f, 0x5e, 0x8b, 0x08, 0x8e, 0xf7, 0x90, 0x46, 0xe7, 0xb4, 0xd1, 0xff, + 0x7c, 0x87, 0xb0, 0x48, 0x63, 0x1f, 0x1b, 0xff, 0xf8, 0xc3, 0x4f, 0xd5, 0x0b, 0x3f, 0xfe, 0x54, + 0xbd, 0xf0, 0xeb, 0x4f, 0xd5, 0xc2, 0xb7, 0x2f, 0xaa, 0x85, 0x7f, 0x7f, 0x51, 0x2d, 0xfc, 0xcf, + 0x8b, 0x6a, 0xe1, 0x87, 0x17, 0xd5, 0xc2, 0x1f, 0x5e, 0x54, 0x0b, 0x7f, 0x7c, 0x51, 0xbd, 0xf0, + 0xeb, 0x8b, 0x6a, 0xe1, 0xfb, 0x9f, 0xab, 0x17, 0x7e, 0xf8, 0xb9, 0x7a, 0xe1, 0xc7, 0x9f, 0xab, + 0x17, 0xbe, 0xbc, 0xb5, 0xef, 0x46, 0x32, 0xd8, 0xee, 0xc9, 0x7f, 0x76, 0xff, 0x30, 0xf6, 0xb9, + 0x3b, 0x82, 0x4e, 0xf3, 0xe6, 0x5f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x75, 0xe5, 0xf0, 0x51, 0x8f, + 0x31, 0x00, 0x00, } func (this *ShardInfo) Equal(that interface{}) bool { @@ -3754,84 +3665,6 @@ func (this *Checksum) Equal(that interface{}) bool { } return true } -func (this *UpdateInfo) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - that1, ok := that.(*UpdateInfo) - if !ok { - that2, ok := that.(UpdateInfo) - if ok { - that1 = &that2 - } else { - return false - } - } - if that1 == nil { - return this == nil - } else if this == nil { - return false - } - if that1.Value == nil { - if this.Value != nil { - return false - } - } else if this.Value == nil { - return false - } else if !this.Value.Equal(that1.Value) { - return false - } - return true -} -func (this *UpdateInfo_AcceptancePointer) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - that1, ok := that.(*UpdateInfo_AcceptancePointer) - if !ok { - that2, ok := that.(UpdateInfo_AcceptancePointer) - if ok { - that1 = &that2 - } else { - return false - } - } - if that1 == nil { - return this == nil - } else if this == nil { - return false - } - if !this.AcceptancePointer.Equal(that1.AcceptancePointer) { - return false - } - return true -} -func (this *UpdateInfo_CompletedPointer) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - that1, ok := that.(*UpdateInfo_CompletedPointer) - if !ok { - that2, ok := that.(UpdateInfo_CompletedPointer) - if ok { - that1 = &that2 - } else { - return false - } - } - if that1 == nil { - return this == nil - } else if this == nil { - return false - } - if !this.CompletedPointer.Equal(that1.CompletedPointer) { - return false - } - return true -} func (this *ShardInfo) GoString() string { if this == nil { return "nil" @@ -4257,34 +4090,6 @@ func (this *Checksum) GoString() string { s = append(s, "}") return strings.Join(s, "") } -func (this *UpdateInfo) GoString() string { - if this == nil { - return "nil" - } - s := make([]string, 0, 6) - s = append(s, "&persistence.UpdateInfo{") - if this.Value != nil { - s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\n") - } - s = append(s, "}") - return strings.Join(s, "") -} -func (this *UpdateInfo_AcceptancePointer) GoString() string { - if this == nil { - return "nil" - } - s := strings.Join([]string{`&persistence.UpdateInfo_AcceptancePointer{` + - `AcceptancePointer:` + fmt.Sprintf("%#v", this.AcceptancePointer) + `}`}, ", ") - return s -} -func (this *UpdateInfo_CompletedPointer) GoString() string { - if this == nil { - return "nil" - } - s := strings.Join([]string{`&persistence.UpdateInfo_CompletedPointer{` + - `CompletedPointer:` + fmt.Sprintf("%#v", this.CompletedPointer) + `}`}, ", ") - return s -} func valueToGoStringExecutions(v interface{}, typ string) string { rv := reflect.ValueOf(v) if rv.IsNil() { @@ -6302,80 +6107,6 @@ func (m *Checksum) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *UpdateInfo) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UpdateInfo) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *UpdateInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Value != nil { - { - size := m.Value.Size() - i -= size - if _, err := m.Value.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } - } - return len(dAtA) - i, nil -} - -func (m *UpdateInfo_AcceptancePointer) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *UpdateInfo_AcceptancePointer) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.AcceptancePointer != nil { - { - size, err := m.AcceptancePointer.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintExecutions(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} -func (m *UpdateInfo_CompletedPointer) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *UpdateInfo_CompletedPointer) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.CompletedPointer != nil { - { - size, err := m.CompletedPointer.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintExecutions(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - return len(dAtA) - i, nil -} func encodeVarintExecutions(dAtA []byte, offset int, v uint64) int { offset -= sovExecutions(v) base := offset @@ -7276,43 +7007,6 @@ func (m *Checksum) Size() (n int) { return n } -func (m *UpdateInfo) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Value != nil { - n += m.Value.Size() - } - return n -} - -func (m *UpdateInfo_AcceptancePointer) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.AcceptancePointer != nil { - l = m.AcceptancePointer.Size() - n += 1 + l + sovExecutions(uint64(l)) - } - return n -} -func (m *UpdateInfo_CompletedPointer) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.CompletedPointer != nil { - l = m.CompletedPointer.Size() - n += 1 + l + sovExecutions(uint64(l)) - } - return n -} - func sovExecutions(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -7718,36 +7412,6 @@ func (this *Checksum) String() string { }, "") return s } -func (this *UpdateInfo) String() string { - if this == nil { - return "nil" - } - s := strings.Join([]string{`&UpdateInfo{`, - `Value:` + fmt.Sprintf("%v", this.Value) + `,`, - `}`, - }, "") - return s -} -func (this *UpdateInfo_AcceptancePointer) String() string { - if this == nil { - return "nil" - } - s := strings.Join([]string{`&UpdateInfo_AcceptancePointer{`, - `AcceptancePointer:` + strings.Replace(fmt.Sprintf("%v", this.AcceptancePointer), "HistoryEventPointer", "v13.HistoryEventPointer", 1) + `,`, - `}`, - }, "") - return s -} -func (this *UpdateInfo_CompletedPointer) String() string { - if this == nil { - return "nil" - } - s := strings.Join([]string{`&UpdateInfo_CompletedPointer{`, - `CompletedPointer:` + strings.Replace(fmt.Sprintf("%v", this.CompletedPointer), "HistoryEventPointer", "v13.HistoryEventPointer", 1) + `,`, - `}`, - }, "") - return s -} func valueToStringExecutions(v interface{}) string { rv := reflect.ValueOf(v) if rv.IsNil() { @@ -14292,129 +13956,6 @@ func (m *Checksum) Unmarshal(dAtA []byte) error { } return nil } -func (m *UpdateInfo) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowExecutions - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdateInfo: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateInfo: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AcceptancePointer", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowExecutions - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthExecutions - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthExecutions - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - v := &v13.HistoryEventPointer{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.Value = &UpdateInfo_AcceptancePointer{v} - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CompletedPointer", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowExecutions - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthExecutions - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthExecutions - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - v := &v13.HistoryEventPointer{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.Value = &UpdateInfo_CompletedPointer{v} - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipExecutions(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthExecutions - } - if (iNdEx + skippy) < 0 { - return ErrInvalidLengthExecutions - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func skipExecutions(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/api/persistence/v1/workflow_mutable_state.pb.go b/api/persistence/v1/workflow_mutable_state.pb.go index 243ffa1a024..d3a7cf1adb2 100644 --- a/api/persistence/v1/workflow_mutable_state.pb.go +++ b/api/persistence/v1/workflow_mutable_state.pb.go @@ -63,8 +63,6 @@ type WorkflowMutableState struct { NextEventId int64 `protobuf:"varint,9,opt,name=next_event_id,json=nextEventId,proto3" json:"next_event_id,omitempty"` BufferedEvents []*v1.HistoryEvent `protobuf:"bytes,10,rep,name=buffered_events,json=bufferedEvents,proto3" json:"buffered_events,omitempty"` Checksum *Checksum `protobuf:"bytes,11,opt,name=checksum,proto3" json:"checksum,omitempty"` - // map key here is UpdateID - UpdateInfos map[string]*UpdateInfo `protobuf:"bytes,12,rep,name=update_infos,json=updateInfos,proto3" json:"update_infos,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (m *WorkflowMutableState) Reset() { *m = WorkflowMutableState{} } @@ -176,13 +174,6 @@ func (m *WorkflowMutableState) GetChecksum() *Checksum { return nil } -func (m *WorkflowMutableState) GetUpdateInfos() map[string]*UpdateInfo { - if m != nil { - return m.UpdateInfos - } - return nil -} - func init() { proto.RegisterType((*WorkflowMutableState)(nil), "temporal.server.api.persistence.v1.WorkflowMutableState") proto.RegisterMapType((map[int64]*ActivityInfo)(nil), "temporal.server.api.persistence.v1.WorkflowMutableState.ActivityInfosEntry") @@ -190,7 +181,6 @@ func init() { proto.RegisterMapType((map[int64]*RequestCancelInfo)(nil), "temporal.server.api.persistence.v1.WorkflowMutableState.RequestCancelInfosEntry") proto.RegisterMapType((map[int64]*SignalInfo)(nil), "temporal.server.api.persistence.v1.WorkflowMutableState.SignalInfosEntry") proto.RegisterMapType((map[string]*TimerInfo)(nil), "temporal.server.api.persistence.v1.WorkflowMutableState.TimerInfosEntry") - proto.RegisterMapType((map[string]*UpdateInfo)(nil), "temporal.server.api.persistence.v1.WorkflowMutableState.UpdateInfosEntry") } func init() { @@ -198,52 +188,50 @@ func init() { } var fileDescriptor_0b5581c180807aa7 = []byte{ - // 712 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0x4d, 0x6f, 0xd3, 0x3e, - 0x1c, 0xc7, 0xeb, 0xf5, 0xbf, 0xfd, 0x37, 0x77, 0xeb, 0x26, 0x33, 0x44, 0xd4, 0x83, 0x55, 0x4d, - 0x9a, 0xd4, 0x03, 0xa4, 0x7b, 0x00, 0x04, 0xe3, 0x80, 0xa0, 0x0c, 0xad, 0x1a, 0x20, 0xc8, 0x40, - 0x48, 0x5c, 0x42, 0x96, 0xb8, 0x9b, 0x59, 0x9a, 0x14, 0xdb, 0xe9, 0x56, 0x09, 0x21, 0x84, 0xc4, - 0x9d, 0x97, 0xc1, 0x4b, 0xe1, 0xb8, 0x0b, 0xd2, 0x8e, 0x2c, 0xbb, 0x70, 0xdc, 0x4b, 0x40, 0x71, - 0xd2, 0xc6, 0x7d, 0x12, 0xa1, 0xdc, 0x9a, 0x9f, 0xeb, 0xcf, 0xe7, 0xeb, 0x87, 0xfc, 0x02, 0xef, - 0x0b, 0xd2, 0x6c, 0xf9, 0xcc, 0x72, 0xab, 0x9c, 0xb0, 0x36, 0x61, 0x55, 0xab, 0x45, 0xab, 0x2d, - 0xc2, 0x38, 0xe5, 0x82, 0x78, 0x36, 0xa9, 0xb6, 0xd7, 0xab, 0xc7, 0x3e, 0x3b, 0x6a, 0xb8, 0xfe, - 0xb1, 0xd9, 0x0c, 0x84, 0xb5, 0xef, 0x12, 0x93, 0x0b, 0x4b, 0x10, 0xbd, 0xc5, 0x7c, 0xe1, 0xa3, - 0x95, 0x2e, 0x40, 0x8f, 0x01, 0xba, 0xd5, 0xa2, 0xba, 0x02, 0xd0, 0xdb, 0xeb, 0xa5, 0xd5, 0x9e, - 0x24, 0xa2, 0x1f, 0x52, 0x2e, 0x7c, 0xd6, 0x89, 0xc8, 0x4d, 0xc2, 0xb9, 0x75, 0x90, 0xa0, 0x4a, - 0x9b, 0x19, 0xb2, 0x90, 0x13, 0x62, 0x07, 0x82, 0xfa, 0x1e, 0x8f, 0x27, 0xad, 0xfc, 0x28, 0xc2, - 0xe5, 0xd7, 0x49, 0xc0, 0xa7, 0x71, 0xbe, 0xbd, 0x28, 0x1e, 0x62, 0xb0, 0x68, 0xd9, 0x82, 0xb6, - 0xa9, 0xe8, 0x98, 0xd4, 0x6b, 0xf8, 0x5c, 0x03, 0xe5, 0x7c, 0xa5, 0xb0, 0xb1, 0xab, 0xff, 0x39, - 0xb1, 0x3e, 0x8a, 0xa8, 0x3f, 0x48, 0x70, 0xf5, 0x88, 0xb6, 0xed, 0x09, 0xd6, 0x31, 0x16, 0x2c, - 0xb5, 0x86, 0x28, 0x2c, 0x08, 0xda, 0x24, 0x2c, 0x11, 0x4e, 0x49, 0xe1, 0xce, 0xc4, 0xc2, 0x97, - 0x11, 0x4b, 0xb1, 0x41, 0xd1, 0x2b, 0xa0, 0x2f, 0x00, 0x5e, 0xb5, 0x0f, 0xa9, 0xeb, 0x98, 0xbd, - 0x2d, 0x49, 0xac, 0x79, 0x69, 0x7d, 0x31, 0xb1, 0xb5, 0x16, 0x51, 0xb7, 0xbb, 0x50, 0x45, 0x7f, - 0xc5, 0x1e, 0x1e, 0x41, 0x9f, 0x01, 0x5c, 0x66, 0xe4, 0x7d, 0x40, 0xb8, 0x30, 0x6d, 0xcb, 0xb3, - 0x89, 0x9b, 0xc4, 0xf8, 0x4f, 0xc6, 0x78, 0x3e, 0x71, 0x0c, 0x23, 0x86, 0xd6, 0x24, 0x53, 0x49, - 0x81, 0xd8, 0xd0, 0x00, 0x72, 0xe1, 0x3c, 0xa7, 0x07, 0x9e, 0xd5, 0x75, 0x4f, 0x4b, 0x77, 0x7d, - 0x62, 0xf7, 0x9e, 0x84, 0x29, 0xd2, 0x02, 0x4f, 0x2b, 0x68, 0x0d, 0x2e, 0x27, 0xb6, 0x24, 0x0a, - 0x71, 0x4c, 0xea, 0x70, 0x6d, 0xa6, 0x9c, 0xaf, 0xcc, 0x19, 0x28, 0x1e, 0x33, 0xba, 0x43, 0x75, - 0x87, 0xa3, 0xb7, 0xb0, 0xd8, 0x7f, 0x4a, 0xda, 0xff, 0x65, 0x50, 0x29, 0x6c, 0xdc, 0xfd, 0x9b, - 0x84, 0x7d, 0x1b, 0x6f, 0x2c, 0x10, 0xf5, 0x11, 0xd9, 0x70, 0x31, 0x35, 0xc8, 0xf7, 0x53, 0x9b, - 0x95, 0x8a, 0xad, 0x89, 0x14, 0x72, 0x1b, 0x8c, 0x34, 0x74, 0xfc, 0x4a, 0xad, 0xc0, 0x05, 0x8f, - 0x9c, 0x08, 0x93, 0xb4, 0x89, 0x27, 0x4c, 0xea, 0x68, 0x73, 0x65, 0x50, 0xc9, 0x1b, 0x85, 0xa8, - 0xb8, 0x1d, 0xd5, 0xea, 0x0e, 0x7a, 0x06, 0x17, 0xf7, 0x83, 0x46, 0x83, 0x30, 0xe2, 0xc4, 0xff, - 0xe3, 0x1a, 0x94, 0xa7, 0xb1, 0x9a, 0x06, 0x89, 0x12, 0x24, 0x5d, 0x20, 0xb2, 0xef, 0xc4, 0x3f, - 0x25, 0xc1, 0x28, 0x76, 0x67, 0xcb, 0x47, 0x8e, 0x76, 0xe0, 0xac, 0x7d, 0x48, 0xec, 0x23, 0x1e, - 0x34, 0xb5, 0x82, 0x5c, 0xd1, 0xf5, 0x2c, 0x2b, 0xaa, 0x25, 0x73, 0x8c, 0xde, 0xec, 0xe8, 0x92, - 0x04, 0x2d, 0xc7, 0x12, 0x24, 0xb9, 0x24, 0xf3, 0xff, 0x78, 0x49, 0x5e, 0x49, 0x98, 0x7a, 0x49, - 0x82, 0xb4, 0x52, 0x62, 0x10, 0x0d, 0xf7, 0x0b, 0xb4, 0x04, 0xf3, 0x47, 0xa4, 0xa3, 0x01, 0xb9, - 0x6f, 0xd1, 0x4f, 0xf4, 0x18, 0x4e, 0xb7, 0x2d, 0x37, 0x20, 0xda, 0x94, 0x5c, 0xdc, 0x5a, 0x96, - 0x38, 0x2a, 0xd8, 0x88, 0xa7, 0x6f, 0x4d, 0xdd, 0x01, 0x25, 0x17, 0x2e, 0x0e, 0xb4, 0x0c, 0x55, - 0x38, 0x17, 0x0b, 0x6b, 0xfd, 0xc2, 0x1b, 0x59, 0x84, 0x3d, 0xaa, 0x6a, 0xfb, 0x08, 0xb5, 0x71, - 0xad, 0x62, 0xc4, 0x3a, 0x9f, 0xf4, 0x6b, 0x6f, 0x67, 0x3b, 0xc4, 0x41, 0xbc, 0xea, 0xff, 0x00, - 0xaf, 0x8d, 0xe9, 0x11, 0x23, 0xf4, 0xbb, 0xfd, 0xfa, 0x5b, 0x59, 0xf4, 0x43, 0x74, 0xd5, 0xee, - 0xc1, 0xa5, 0xc1, 0x2e, 0x31, 0x42, 0xfb, 0xa8, 0x5f, 0xab, 0x67, 0xd1, 0xa6, 0xd8, 0x01, 0xdf, - 0xe0, 0x85, 0x1b, 0x71, 0xb8, 0x93, 0xf8, 0x52, 0xac, 0xe2, 0x7b, 0xf8, 0xee, 0xf4, 0x1c, 0xe7, - 0xce, 0xce, 0x71, 0xee, 0xf2, 0x1c, 0x83, 0x4f, 0x21, 0x06, 0xdf, 0x42, 0x0c, 0xbe, 0x87, 0x18, - 0x9c, 0x86, 0x18, 0xfc, 0x0c, 0x31, 0xf8, 0x15, 0xe2, 0xdc, 0x65, 0x88, 0xc1, 0xd7, 0x0b, 0x9c, - 0x3b, 0xbd, 0xc0, 0xb9, 0xb3, 0x0b, 0x9c, 0x7b, 0x73, 0xf3, 0xc0, 0x4f, 0x95, 0xd4, 0x1f, 0xff, - 0x21, 0xbf, 0xa7, 0x3c, 0xee, 0xcf, 0xc8, 0x4f, 0xf9, 0xe6, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, - 0xd2, 0x7d, 0x37, 0x89, 0x8d, 0x08, 0x00, 0x00, + // 677 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x95, 0x4f, 0x6f, 0xd3, 0x3e, + 0x18, 0xc7, 0xeb, 0xf5, 0xb7, 0xfd, 0x36, 0x77, 0xff, 0x64, 0x86, 0x88, 0x7a, 0xb0, 0xaa, 0x49, + 0x93, 0x7a, 0x80, 0x74, 0x7f, 0x00, 0xc1, 0x38, 0x20, 0x28, 0x43, 0xab, 0x06, 0x08, 0x32, 0x24, + 0x24, 0x2e, 0x21, 0x4b, 0x9e, 0x6e, 0x66, 0x69, 0x52, 0x6c, 0xb7, 0x5b, 0x25, 0x84, 0x10, 0x12, + 0x77, 0x5e, 0x06, 0x2f, 0x85, 0xe3, 0x8e, 0x3b, 0xb2, 0xec, 0xc2, 0x71, 0x37, 0xae, 0x28, 0x4e, + 0xda, 0xba, 0x6b, 0x27, 0x42, 0x6f, 0xf1, 0xe3, 0x3e, 0x9f, 0xcf, 0xd7, 0x8e, 0x9e, 0x06, 0x3f, + 0x94, 0xd0, 0x68, 0x86, 0xdc, 0xf1, 0x2b, 0x02, 0x78, 0x1b, 0x78, 0xc5, 0x69, 0xb2, 0x4a, 0x13, + 0xb8, 0x60, 0x42, 0x42, 0xe0, 0x42, 0xa5, 0xbd, 0x56, 0x39, 0x0a, 0xf9, 0x61, 0xdd, 0x0f, 0x8f, + 0xec, 0x46, 0x4b, 0x3a, 0x7b, 0x3e, 0xd8, 0x42, 0x3a, 0x12, 0xcc, 0x26, 0x0f, 0x65, 0x48, 0x96, + 0xbb, 0x00, 0x33, 0x01, 0x98, 0x4e, 0x93, 0x99, 0x1a, 0xc0, 0x6c, 0xaf, 0x15, 0x57, 0x7a, 0x92, + 0x98, 0x7e, 0xc0, 0x84, 0x0c, 0x79, 0x27, 0x26, 0x37, 0x40, 0x08, 0x67, 0x3f, 0x45, 0x15, 0x37, + 0x32, 0x64, 0x81, 0x63, 0x70, 0x5b, 0x92, 0x85, 0x81, 0x48, 0x9a, 0x96, 0x7f, 0xcf, 0xe2, 0xa5, + 0x37, 0x69, 0xc0, 0xe7, 0x49, 0xbe, 0xdd, 0x38, 0x1e, 0xe1, 0x78, 0xde, 0x71, 0x25, 0x6b, 0x33, + 0xd9, 0xb1, 0x59, 0x50, 0x0f, 0x85, 0x81, 0x4a, 0xf9, 0x72, 0x61, 0x7d, 0xc7, 0xfc, 0x7b, 0x62, + 0x73, 0x14, 0xd1, 0x7c, 0x94, 0xe2, 0x6a, 0x31, 0x6d, 0x2b, 0x90, 0xbc, 0x63, 0xcd, 0x39, 0x7a, + 0x8d, 0x30, 0x5c, 0x90, 0xac, 0x01, 0x3c, 0x15, 0x4e, 0x28, 0xe1, 0xf6, 0xd8, 0xc2, 0xd7, 0x31, + 0x4b, 0xb3, 0x61, 0xd9, 0x2b, 0x90, 0xaf, 0x08, 0x5f, 0x77, 0x0f, 0x98, 0xef, 0xd9, 0xbd, 0x2b, + 0x49, 0xad, 0x79, 0x65, 0x7d, 0x35, 0xb6, 0xb5, 0x1a, 0x53, 0xb7, 0xba, 0x50, 0x4d, 0x7f, 0xcd, + 0x1d, 0xde, 0x21, 0x5f, 0x10, 0x5e, 0xe2, 0xf0, 0xa1, 0x05, 0x42, 0xda, 0xae, 0x13, 0xb8, 0xe0, + 0xa7, 0x31, 0xfe, 0x53, 0x31, 0x5e, 0x8e, 0x1d, 0xc3, 0x4a, 0xa0, 0x55, 0xc5, 0xd4, 0x52, 0x10, + 0x3e, 0xb4, 0x41, 0x7c, 0x3c, 0x2b, 0xd8, 0x7e, 0xe0, 0x74, 0xdd, 0x93, 0xca, 0x5d, 0x1b, 0xdb, + 0xbd, 0xab, 0x60, 0x9a, 0xb4, 0x20, 0xfa, 0x15, 0xb2, 0x8a, 0x97, 0x52, 0x5b, 0x1a, 0x05, 0x3c, + 0x9b, 0x79, 0xc2, 0x98, 0x2a, 0xe5, 0xcb, 0x33, 0x16, 0x49, 0xf6, 0xac, 0xee, 0x56, 0xcd, 0x13, + 0xe4, 0x1d, 0x9e, 0x1f, 0x7c, 0x4b, 0xc6, 0xff, 0x25, 0x54, 0x2e, 0xac, 0xdf, 0xff, 0x97, 0x84, + 0x03, 0x17, 0x6f, 0xcd, 0x81, 0xbe, 0x24, 0x2e, 0x5e, 0xe8, 0x1b, 0xd4, 0x7c, 0x1a, 0xd3, 0x4a, + 0xb1, 0x39, 0x96, 0x42, 0x5d, 0x83, 0xd5, 0x0f, 0x9d, 0x8c, 0xd4, 0x32, 0x9e, 0x0b, 0xe0, 0x58, + 0xda, 0xd0, 0x86, 0x40, 0xda, 0xcc, 0x33, 0x66, 0x4a, 0xa8, 0x9c, 0xb7, 0x0a, 0x71, 0x71, 0x2b, + 0xae, 0xd5, 0x3c, 0xf2, 0x02, 0x2f, 0xec, 0xb5, 0xea, 0x75, 0xe0, 0xe0, 0x25, 0xbf, 0x13, 0x06, + 0x56, 0x6f, 0x63, 0xa5, 0x1f, 0x24, 0x4e, 0x90, 0xfe, 0x0b, 0xc4, 0xf6, 0xed, 0xe4, 0x51, 0x11, + 0xac, 0xf9, 0x6e, 0xb7, 0x5a, 0x0a, 0xb2, 0x8d, 0xa7, 0xdd, 0x03, 0x70, 0x0f, 0x45, 0xab, 0x61, + 0x14, 0xd4, 0x89, 0x6e, 0x66, 0x39, 0x51, 0x35, 0xed, 0xb1, 0x7a, 0xdd, 0x45, 0x8e, 0xc9, 0xf0, + 0x04, 0x93, 0x45, 0x9c, 0x3f, 0x84, 0x8e, 0x81, 0xd4, 0x49, 0xe2, 0x47, 0xf2, 0x14, 0x4f, 0xb6, + 0x1d, 0xbf, 0x05, 0xc6, 0x84, 0xd2, 0xad, 0x66, 0xd1, 0xe9, 0x60, 0x2b, 0x69, 0xdf, 0x9c, 0xb8, + 0x87, 0x8a, 0x3e, 0x5e, 0xb8, 0x34, 0xc4, 0xba, 0x70, 0x26, 0x11, 0x56, 0x07, 0x85, 0xb7, 0xb2, + 0x08, 0x7b, 0x54, 0xdd, 0xf6, 0x09, 0x1b, 0x57, 0x0d, 0xef, 0x88, 0x73, 0x3e, 0x1b, 0xd4, 0xde, + 0xcd, 0x76, 0xad, 0x97, 0xf1, 0xba, 0xff, 0x23, 0xbe, 0x71, 0xc5, 0xd4, 0x8e, 0xd0, 0xef, 0x0c, + 0xea, 0xef, 0x64, 0xd1, 0x0f, 0xd1, 0x75, 0x7b, 0x80, 0x17, 0x2f, 0xcf, 0xed, 0x08, 0xed, 0x93, + 0x41, 0xad, 0x99, 0x45, 0xdb, 0xc7, 0x6a, 0xbe, 0xc7, 0xef, 0x4f, 0xce, 0x68, 0xee, 0xf4, 0x8c, + 0xe6, 0x2e, 0xce, 0x28, 0xfa, 0x1c, 0x51, 0xf4, 0x3d, 0xa2, 0xe8, 0x47, 0x44, 0xd1, 0x49, 0x44, + 0xd1, 0xcf, 0x88, 0xa2, 0x5f, 0x11, 0xcd, 0x5d, 0x44, 0x14, 0x7d, 0x3b, 0xa7, 0xb9, 0x93, 0x73, + 0x9a, 0x3b, 0x3d, 0xa7, 0xb9, 0xb7, 0xb7, 0xf7, 0xc3, 0xbe, 0x92, 0x85, 0x57, 0x7f, 0xea, 0x1e, + 0x68, 0xcb, 0xbd, 0x29, 0xf5, 0xb1, 0xdb, 0xf8, 0x13, 0x00, 0x00, 0xff, 0xff, 0x67, 0x0d, 0xa0, + 0x51, 0xaf, 0x07, 0x00, 0x00, } func (this *WorkflowMutableState) Equal(that interface{}) bool { @@ -333,21 +321,13 @@ func (this *WorkflowMutableState) Equal(that interface{}) bool { if !this.Checksum.Equal(that1.Checksum) { return false } - if len(this.UpdateInfos) != len(that1.UpdateInfos) { - return false - } - for i := range this.UpdateInfos { - if !this.UpdateInfos[i].Equal(that1.UpdateInfos[i]) { - return false - } - } return true } func (this *WorkflowMutableState) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 16) + s := make([]string, 0, 15) s = append(s, "&persistence.WorkflowMutableState{") keysForActivityInfos := make([]int64, 0, len(this.ActivityInfos)) for k, _ := range this.ActivityInfos { @@ -428,19 +408,6 @@ func (this *WorkflowMutableState) GoString() string { if this.Checksum != nil { s = append(s, "Checksum: "+fmt.Sprintf("%#v", this.Checksum)+",\n") } - keysForUpdateInfos := make([]string, 0, len(this.UpdateInfos)) - for k, _ := range this.UpdateInfos { - keysForUpdateInfos = append(keysForUpdateInfos, k) - } - github_com_gogo_protobuf_sortkeys.Strings(keysForUpdateInfos) - mapStringForUpdateInfos := "map[string]*UpdateInfo{" - for _, k := range keysForUpdateInfos { - mapStringForUpdateInfos += fmt.Sprintf("%#v: %#v,", k, this.UpdateInfos[k]) - } - mapStringForUpdateInfos += "}" - if this.UpdateInfos != nil { - s = append(s, "UpdateInfos: "+mapStringForUpdateInfos+",\n") - } s = append(s, "}") return strings.Join(s, "") } @@ -472,32 +439,6 @@ func (m *WorkflowMutableState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.UpdateInfos) > 0 { - for k := range m.UpdateInfos { - v := m.UpdateInfos[k] - baseI := i - if v != nil { - { - size, err := v.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintWorkflowMutableState(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - i -= len(k) - copy(dAtA[i:], k) - i = encodeVarintWorkflowMutableState(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = encodeVarintWorkflowMutableState(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x62 - } - } if m.Checksum != nil { { size, err := m.Checksum.MarshalToSizedBuffer(dAtA[:i]) @@ -796,19 +737,6 @@ func (m *WorkflowMutableState) Size() (n int) { l = m.Checksum.Size() n += 1 + l + sovWorkflowMutableState(uint64(l)) } - if len(m.UpdateInfos) > 0 { - for k, v := range m.UpdateInfos { - _ = k - _ = v - l = 0 - if v != nil { - l = v.Size() - l += 1 + sovWorkflowMutableState(uint64(l)) - } - mapEntrySize := 1 + len(k) + sovWorkflowMutableState(uint64(len(k))) + l - n += mapEntrySize + 1 + sovWorkflowMutableState(uint64(mapEntrySize)) - } - } return n } @@ -877,16 +805,6 @@ func (this *WorkflowMutableState) String() string { mapStringForSignalInfos += fmt.Sprintf("%v: %v,", k, this.SignalInfos[k]) } mapStringForSignalInfos += "}" - keysForUpdateInfos := make([]string, 0, len(this.UpdateInfos)) - for k, _ := range this.UpdateInfos { - keysForUpdateInfos = append(keysForUpdateInfos, k) - } - github_com_gogo_protobuf_sortkeys.Strings(keysForUpdateInfos) - mapStringForUpdateInfos := "map[string]*UpdateInfo{" - for _, k := range keysForUpdateInfos { - mapStringForUpdateInfos += fmt.Sprintf("%v: %v,", k, this.UpdateInfos[k]) - } - mapStringForUpdateInfos += "}" s := strings.Join([]string{`&WorkflowMutableState{`, `ActivityInfos:` + mapStringForActivityInfos + `,`, `TimerInfos:` + mapStringForTimerInfos + `,`, @@ -899,7 +817,6 @@ func (this *WorkflowMutableState) String() string { `NextEventId:` + fmt.Sprintf("%v", this.NextEventId) + `,`, `BufferedEvents:` + repeatedStringForBufferedEvents + `,`, `Checksum:` + strings.Replace(fmt.Sprintf("%v", this.Checksum), "Checksum", "Checksum", 1) + `,`, - `UpdateInfos:` + mapStringForUpdateInfos + `,`, `}`, }, "") return s @@ -1723,135 +1640,6 @@ func (m *WorkflowMutableState) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 12: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UpdateInfos", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowWorkflowMutableState - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthWorkflowMutableState - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthWorkflowMutableState - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UpdateInfos == nil { - m.UpdateInfos = make(map[string]*UpdateInfo) - } - var mapkey string - var mapvalue *UpdateInfo - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowWorkflowMutableState - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - if fieldNum == 1 { - var stringLenmapkey uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowWorkflowMutableState - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapkey := int(stringLenmapkey) - if intStringLenmapkey < 0 { - return ErrInvalidLengthWorkflowMutableState - } - postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthWorkflowMutableState - } - if postStringIndexmapkey > l { - return io.ErrUnexpectedEOF - } - mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) - iNdEx = postStringIndexmapkey - } else if fieldNum == 2 { - var mapmsglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowWorkflowMutableState - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - mapmsglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if mapmsglen < 0 { - return ErrInvalidLengthWorkflowMutableState - } - postmsgIndex := iNdEx + mapmsglen - if postmsgIndex < 0 { - return ErrInvalidLengthWorkflowMutableState - } - if postmsgIndex > l { - return io.ErrUnexpectedEOF - } - mapvalue = &UpdateInfo{} - if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { - return err - } - iNdEx = postmsgIndex - } else { - iNdEx = entryPreIndex - skippy, err := skipWorkflowMutableState(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthWorkflowMutableState - } - if (iNdEx + skippy) > postIndex { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - m.UpdateInfos[mapkey] = mapvalue - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipWorkflowMutableState(dAtA[iNdEx:]) diff --git a/common/persistence/cassandra/mutable_state_store.go b/common/persistence/cassandra/mutable_state_store.go index 9ced45981f8..dc484f27207 100644 --- a/common/persistence/cassandra/mutable_state_store.go +++ b/common/persistence/cassandra/mutable_state_store.go @@ -81,7 +81,6 @@ const ( templateGetWorkflowExecutionQuery = `SELECT execution, execution_encoding, execution_state, execution_state_encoding, next_event_id, activity_map, activity_map_encoding, timer_map, timer_map_encoding, ` + `child_executions_map, child_executions_map_encoding, request_cancel_map, request_cancel_map_encoding, signal_map, signal_map_encoding, signal_requested, buffered_events_list, ` + - `update_info_map, update_info_map_encoding, ` + `checksum, checksum_encoding, db_record_version ` + `FROM executions ` + `WHERE shard_id = ? ` + @@ -244,16 +243,6 @@ const ( `and visibility_ts = ? ` + `and task_id = ? ` - templateResetUpdateInfoQuery = `UPDATE executions ` + - `SET update_info_map = ?, update_info_map_encoding = ? ` + - `WHERE shard_id = ? ` + - `and type = ? ` + - `and namespace_id = ? ` + - `and workflow_id = ? ` + - `and run_id = ? ` + - `and visibility_ts = ? ` + - `and task_id = ? ` - templateUpdateSignalRequestedQuery = `UPDATE executions ` + `SET signal_requested = signal_requested + ? ` + `WHERE shard_id = ? ` + @@ -274,16 +263,6 @@ const ( `and visibility_ts = ? ` + `and task_id = ? ` - templateUpdateUpdateInfoQuery = `UPDATE executions ` + - `SET update_info_map[ ? ] = ? , update_info_map_encoding = ? ` + - `WHERE shard_id = ? ` + - `and type = ? ` + - `and namespace_id = ? ` + - `and workflow_id = ? ` + - `and run_id = ? ` + - `and visibility_ts = ? ` + - `and task_id = ? ` - templateAppendBufferedEventsQuery = `UPDATE executions ` + `SET buffered_events_list = buffered_events_list + ? ` + `WHERE shard_id = ? ` + @@ -314,16 +293,6 @@ const ( `and visibility_ts = ? ` + `and task_id = ? ` - templateDeleteUpdateInfoQuery = `DELETE update_info_map[ ? ] ` + - `FROM executions ` + - `WHERE shard_id = ? ` + - `and type = ? ` + - `and namespace_id = ? ` + - `and workflow_id = ? ` + - `and run_id = ? ` + - `and visibility_ts = ? ` + - `and task_id = ? ` - templateDeleteTimerInfoQuery = `DELETE timer_map[ ? ] ` + `FROM executions ` + `WHERE shard_id = ? ` + @@ -553,14 +522,6 @@ func (d *MutableStateStore) GetWorkflowExecution( } state.TimerInfos = timerInfos - updateInfos := make(map[string]*commonpb.DataBlob) - uMapEncoding := result["update_info_map_encoding"].(string) - uMap := result["update_info_map"].(map[string][]byte) - for key, value := range uMap { - updateInfos[key] = p.NewDataBlob(value, uMapEncoding) - } - state.UpdateInfos = updateInfos - childExecutionInfos := make(map[int64]*commonpb.DataBlob) cMap := result["child_executions_map"].(map[int64][]byte) cMapEncoding := result["child_executions_map_encoding"].(string) diff --git a/common/persistence/cassandra/util.go b/common/persistence/cassandra/util.go index f54070d710a..292e76c1e8f 100644 --- a/common/persistence/cassandra/util.go +++ b/common/persistence/cassandra/util.go @@ -135,16 +135,6 @@ func applyWorkflowMutationBatch( runID, ) - updateUpdateInfos( - batch, - workflowMutation.UpsertUpdateInfos, - workflowMutation.DeleteUpdateInfos, - shardID, - namespaceID, - workflowID, - runID, - ) - updateBufferedEvents( batch, workflowMutation.NewBufferedEvents, @@ -257,15 +247,6 @@ func applyWorkflowSnapshotBatchAsReset( runID, ) - resetUpdateInfos( - batch, - workflowSnapshot.UpdateInfos, - shardID, - namespaceID, - workflowID, - runID, - ) - deleteBufferedEvents( batch, shardID, @@ -369,16 +350,6 @@ func applyWorkflowSnapshotBatchAsNew( runID, ) - updateUpdateInfos( - batch, - workflowSnapshot.UpdateInfos, - nil, - shardID, - namespaceID, - workflowID, - runID, - ) - // transfer / replication / timer tasks return applyTasks( batch, @@ -1027,64 +998,6 @@ func resetSignalRequested( rowTypeExecutionTaskID) } -func updateUpdateInfos( - batch gocql.Batch, - updateInfos map[string]*commonpb.DataBlob, - deletedUpdateInfos map[string]struct{}, - shardID int32, - namespaceID string, - workflowID string, - runID string, -) { - for id, blob := range updateInfos { - batch.Query(templateUpdateUpdateInfoQuery, - id, - blob.Data, - blob.EncodingType.String(), - shardID, - rowTypeExecution, - namespaceID, - workflowID, - runID, - defaultVisibilityTimestamp, - rowTypeExecutionTaskID) - } - - for deleteID := range deletedUpdateInfos { - batch.Query(templateDeleteUpdateInfoQuery, - deleteID, - shardID, - rowTypeExecution, - namespaceID, - workflowID, - runID, - defaultVisibilityTimestamp, - rowTypeExecutionTaskID) - } -} - -func resetUpdateInfos( - batch gocql.Batch, - updateInfos map[string]*commonpb.DataBlob, - shardID int32, - namespaceID string, - workflowID string, - runID string, -) { - uMap, uMapEncoding := resetBlobMap(updateInfos) - - batch.Query(templateResetUpdateInfoQuery, - uMap, - uMapEncoding.String(), - shardID, - rowTypeExecution, - namespaceID, - workflowID, - runID, - defaultVisibilityTimestamp, - rowTypeExecutionTaskID) -} - func updateBufferedEvents( batch gocql.Batch, newBufferedEvents *commonpb.DataBlob, @@ -1192,18 +1105,6 @@ func resetSignalInfoMap( return sMap, encoding, nil } -func resetBlobMap[K comparable]( - m map[K]*commonpb.DataBlob, -) (map[K][]byte, enumspb.EncodingType) { - out := make(map[K][]byte, len(m)) - var encoding enumspb.EncodingType - for k, blob := range m { - encoding = blob.EncodingType - out[k] = blob.Data - } - return out, encoding -} - func createHistoryEventBatchBlob( result map[string]interface{}, ) *commonpb.DataBlob { diff --git a/common/persistence/dataInterfaces.go b/common/persistence/dataInterfaces.go index d1f8a77b4e8..f7e2d719f45 100644 --- a/common/persistence/dataInterfaces.go +++ b/common/persistence/dataInterfaces.go @@ -360,8 +360,6 @@ type ( DeleteSignalInfos map[int64]struct{} UpsertSignalRequestedIDs map[string]struct{} DeleteSignalRequestedIDs map[string]struct{} - UpsertUpdateInfos map[string]*persistencespb.UpdateInfo - DeleteUpdateInfos map[string]struct{} NewBufferedEvents []*historypb.HistoryEvent ClearBufferedEvents bool @@ -386,7 +384,6 @@ type ( RequestCancelInfos map[int64]*persistencespb.RequestCancelInfo SignalInfos map[int64]*persistencespb.SignalInfo SignalRequestedIDs map[string]struct{} - UpdateInfos map[string]*persistencespb.UpdateInfo Tasks map[tasks.Category][]tasks.Task diff --git a/common/persistence/execution_manager.go b/common/persistence/execution_manager.go index 91cb96df9e6..ecf35622d51 100644 --- a/common/persistence/execution_manager.go +++ b/common/persistence/execution_manager.go @@ -493,9 +493,6 @@ func (m *executionManagerImpl) SerializeWorkflowMutation( // unexport UpsertSignalRequestedIDs: input.UpsertSignalRequestedIDs, DeleteSignalRequestedIDs: input.DeleteSignalRequestedIDs, - UpsertUpdateInfos: make(map[string]*commonpb.DataBlob, len(input.UpsertUpdateInfos)), - DeleteUpdateInfos: input.DeleteUpdateInfos, - NewBufferedEvents: nil, ClearBufferedEvents: input.ClearBufferedEvents, @@ -558,14 +555,6 @@ func (m *executionManagerImpl) SerializeWorkflowMutation( // unexport result.UpsertSignalInfos[key] = blob } - for key, rec := range input.UpsertUpdateInfos { - blob, err := m.serializer.UpdateInfoToBlob(rec, enumspb.ENCODING_TYPE_PROTO3) - if err != nil { - return nil, err - } - result.UpsertUpdateInfos[key] = blob - } - if len(input.NewBufferedEvents) > 0 { result.NewBufferedEvents, err = m.serializer.SerializeEvents(input.NewBufferedEvents, enumspb.ENCODING_TYPE_PROTO3) if err != nil { @@ -604,7 +593,6 @@ func (m *executionManagerImpl) SerializeWorkflowSnapshot( // unexport ChildExecutionInfos: make(map[int64]*commonpb.DataBlob, len(input.ChildExecutionInfos)), RequestCancelInfos: make(map[int64]*commonpb.DataBlob, len(input.RequestCancelInfos)), SignalInfos: make(map[int64]*commonpb.DataBlob, len(input.SignalInfos)), - UpdateInfos: make(map[string]*commonpb.DataBlob, len(input.UpdateInfos)), ExecutionInfo: input.ExecutionInfo, ExecutionState: input.ExecutionState, @@ -665,13 +653,6 @@ func (m *executionManagerImpl) SerializeWorkflowSnapshot( // unexport } result.SignalInfos[key] = blob } - for key, rec := range input.UpdateInfos { - blob, err := m.serializer.UpdateInfoToBlob(rec, enumspb.ENCODING_TYPE_PROTO3) - if err != nil { - return nil, err - } - result.UpdateInfos[key] = blob - } for key := range input.SignalRequestedIDs { result.SignalRequestedIDs[key] = struct{}{} } @@ -952,7 +933,6 @@ func (m *executionManagerImpl) toWorkflowMutableState(internState *InternalWorkf SignalRequestedIds: internState.SignalRequestedIDs, NextEventId: internState.NextEventID, BufferedEvents: make([]*historypb.HistoryEvent, len(internState.BufferedEvents)), - UpdateInfos: make(map[string]*persistencespb.UpdateInfo, len(internState.UpdateInfos)), } for key, blob := range internState.ActivityInfos { info, err := m.serializer.ActivityInfoFromBlob(blob) @@ -1003,13 +983,6 @@ func (m *executionManagerImpl) toWorkflowMutableState(internState *InternalWorkf return nil, err } state.BufferedEvents, err = m.DeserializeBufferedEvents(internState.BufferedEvents) - for key, blob := range internState.UpdateInfos { - rec, err := m.serializer.UpdateInfoFromBlob(blob) - if err != nil { - return nil, err - } - state.UpdateInfos[key] = rec - } if err != nil { return nil, err } diff --git a/common/persistence/persistenceInterface.go b/common/persistence/persistenceInterface.go index 8f7a98acbe9..d9f10259e7a 100644 --- a/common/persistence/persistenceInterface.go +++ b/common/persistence/persistenceInterface.go @@ -349,7 +349,6 @@ type ( RequestCancelInfos map[int64]*commonpb.DataBlob // RequestCancelInfo SignalInfos map[int64]*commonpb.DataBlob // SignalInfo SignalRequestedIDs []string - UpdateInfos map[string]*commonpb.DataBlob ExecutionInfo *commonpb.DataBlob // WorkflowExecutionInfo ExecutionState *commonpb.DataBlob // WorkflowExecutionState NextEventID int64 @@ -403,8 +402,6 @@ type ( DeleteSignalInfos map[int64]struct{} UpsertSignalRequestedIDs map[string]struct{} DeleteSignalRequestedIDs map[string]struct{} - UpsertUpdateInfos map[string]*commonpb.DataBlob - DeleteUpdateInfos map[string]struct{} NewBufferedEvents *commonpb.DataBlob ClearBufferedEvents bool @@ -437,7 +434,6 @@ type ( RequestCancelInfos map[int64]*commonpb.DataBlob SignalInfos map[int64]*commonpb.DataBlob SignalRequestedIDs map[string]struct{} - UpdateInfos map[string]*commonpb.DataBlob Tasks map[tasks.Category][]InternalHistoryTask diff --git a/common/persistence/serialization/serializer.go b/common/persistence/serialization/serializer.go index f942ea74729..755e49d70ce 100644 --- a/common/persistence/serialization/serializer.go +++ b/common/persistence/serialization/serializer.go @@ -76,9 +76,6 @@ type ( ActivityInfoToBlob(info *persistencespb.ActivityInfo, encodingType enumspb.EncodingType) (*commonpb.DataBlob, error) ActivityInfoFromBlob(data *commonpb.DataBlob) (*persistencespb.ActivityInfo, error) - UpdateInfoToBlob(rec *persistencespb.UpdateInfo, encodingType enumspb.EncodingType) (*commonpb.DataBlob, error) - UpdateInfoFromBlob(data *commonpb.DataBlob) (*persistencespb.UpdateInfo, error) - ChildExecutionInfoToBlob(info *persistencespb.ChildExecutionInfo, encodingType enumspb.EncodingType) (*commonpb.DataBlob, error) ChildExecutionInfoFromBlob(data *commonpb.DataBlob) (*persistencespb.ChildExecutionInfo, error) @@ -386,15 +383,6 @@ func (t *serializerImpl) HistoryTreeInfoFromBlob(data *commonpb.DataBlob) (*pers return result, ProtoDecodeBlob(data, result) } -func (t *serializerImpl) UpdateInfoToBlob(rec *persistencespb.UpdateInfo, encodingType enumspb.EncodingType) (*commonpb.DataBlob, error) { - return ProtoEncodeBlob(rec, encodingType) -} - -func (t *serializerImpl) UpdateInfoFromBlob(data *commonpb.DataBlob) (*persistencespb.UpdateInfo, error) { - result := &persistencespb.UpdateInfo{} - return result, ProtoDecodeBlob(data, result) -} - func (t *serializerImpl) HistoryBranchToBlob(info *persistencespb.HistoryBranch, encodingType enumspb.EncodingType) (*commonpb.DataBlob, error) { return ProtoEncodeBlob(info, encodingType) } diff --git a/common/persistence/sql/execution.go b/common/persistence/sql/execution.go index 52180db60da..cc882a19661 100644 --- a/common/persistence/sql/execution.go +++ b/common/persistence/sql/execution.go @@ -275,17 +275,6 @@ func (m *sqlExecutionStore) GetWorkflowExecution( return nil, serviceerror.NewUnavailable(fmt.Sprintf("GetWorkflowExecution: failed to get timer info. Error: %v", err)) } - state.UpdateInfos, err = getUpdateInfoMap(ctx, - m.Db, - request.ShardID, - namespaceID, - workflowID, - runID, - ) - if err != nil { - return nil, serviceerror.NewUnavailable(fmt.Sprintf("GetWorkflowExecution: failed to get update records. Error: %v", err)) - } - state.ChildExecutionInfos, err = getChildExecutionInfoMap(ctx, m.Db, request.ShardID, diff --git a/common/persistence/sql/execution_state_map.go b/common/persistence/sql/execution_state_map.go index e50f3187c04..b364bd8fcae 100644 --- a/common/persistence/sql/execution_state_map.go +++ b/common/persistence/sql/execution_state_map.go @@ -131,96 +131,6 @@ func deleteActivityInfoMap( return nil } -func updateUpdateInfoMap( - ctx context.Context, - tx sqlplugin.Tx, - updateInfos map[string]*commonpb.DataBlob, - deleteIDs map[string]struct{}, - shardID int32, - namespaceID primitives.UUID, - workflowID string, - runID primitives.UUID, -) error { - - if len(updateInfos) > 0 { - rows := make([]sqlplugin.UpdateInfoMapsRow, 0, len(updateInfos)) - for updateID, blob := range updateInfos { - rows = append(rows, sqlplugin.UpdateInfoMapsRow{ - ShardID: shardID, - NamespaceID: namespaceID, - WorkflowID: workflowID, - RunID: runID, - UpdateID: updateID, - Data: blob.Data, - DataEncoding: blob.EncodingType.String(), - }) - } - - if _, err := tx.ReplaceIntoUpdateInfoMaps(ctx, rows); err != nil { - return serviceerror.NewUnavailable(fmt.Sprintf("Failed to update update records. Failed to execute update query. Error: %v", err)) - } - } - - if len(deleteIDs) > 0 { - if _, err := tx.DeleteFromUpdateInfoMaps(ctx, sqlplugin.UpdateInfoMapsFilter{ - ShardID: shardID, - NamespaceID: namespaceID, - WorkflowID: workflowID, - RunID: runID, - UpdateIDs: convert.StringSetToSlice(deleteIDs), - }); err != nil { - return serviceerror.NewUnavailable(fmt.Sprintf("Failed to update update records. Failed to execute delete query. Error: %v", err)) - } - } - return nil -} - -func getUpdateInfoMap( - ctx context.Context, - db sqlplugin.DB, - shardID int32, - namespaceID primitives.UUID, - workflowID string, - runID primitives.UUID, -) (map[string]*commonpb.DataBlob, error) { - rows, err := db.SelectAllFromUpdateInfoMaps(ctx, sqlplugin.UpdateInfoMapsAllFilter{ - ShardID: shardID, - NamespaceID: namespaceID, - WorkflowID: workflowID, - RunID: runID, - }) - if err != nil && err != sql.ErrNoRows { - return nil, serviceerror.NewUnavailable(fmt.Sprintf("Failed to get activity info. Error: %v", err)) - } - - ret := make(map[string]*commonpb.DataBlob, len(rows)) - for _, row := range rows { - ret[row.UpdateID] = persistence.NewDataBlob(row.Data, row.DataEncoding) - } - - return ret, nil -} - -func deleteUpdateInfoMap( - ctx context.Context, - tx sqlplugin.Tx, - shardID int32, - namespaceID primitives.UUID, - workflowID string, - runID primitives.UUID, -) error { - - if _, err := tx.DeleteAllFromUpdateInfoMaps(ctx, sqlplugin.UpdateInfoMapsAllFilter{ - ShardID: shardID, - NamespaceID: namespaceID, - WorkflowID: workflowID, - RunID: runID, - }); err != nil { - return serviceerror.NewUnavailable(fmt.Sprintf("Failed to delete update records map. Error: %v", err)) - } - return nil -} - func updateTimerInfos( ctx context.Context, tx sqlplugin.Tx, diff --git a/common/persistence/sql/execution_util.go b/common/persistence/sql/execution_util.go index dc5363a47ff..a5f20685c54 100644 --- a/common/persistence/sql/execution_util.go +++ b/common/persistence/sql/execution_util.go @@ -116,18 +116,6 @@ func applyWorkflowMutationTx( return serviceerror.NewUnavailable(fmt.Sprintf("applyWorkflowMutationTx failed. Error: %v", err)) } - if err := updateUpdateInfoMap(ctx, - tx, - workflowMutation.UpsertUpdateInfos, - workflowMutation.DeleteUpdateInfos, - shardID, - namespaceIDBytes, - workflowID, - runIDBytes, - ); err != nil { - return serviceerror.NewUnavailable(fmt.Sprintf("applyWorkflowMutationTx failed. Error: %v", err)) - } - if err := updateTimerInfos(ctx, tx, workflowMutation.UpsertTimerInfos, @@ -282,16 +270,6 @@ func applyWorkflowSnapshotTxAsReset( return serviceerror.NewUnavailable(fmt.Sprintf("applyWorkflowSnapshotTxAsReset failed. Failed to clear activity info map. Error: %v", err)) } - if err := deleteUpdateInfoMap(ctx, - tx, - shardID, - namespaceIDBytes, - workflowID, - runIDBytes, - ); err != nil { - return serviceerror.NewUnavailable(fmt.Sprintf("applyWorkflowSnapshotTxAsReset failed. Failed to clear update record map. Error: %v", err)) - } - if err := updateActivityInfos(ctx, tx, workflowSnapshot.ActivityInfos, @@ -304,18 +282,6 @@ func applyWorkflowSnapshotTxAsReset( return serviceerror.NewUnavailable(fmt.Sprintf("applyWorkflowSnapshotTxAsReset failed. Failed to insert into activity info map after clearing. Error: %v", err)) } - if err := updateUpdateInfoMap(ctx, - tx, - workflowSnapshot.UpdateInfos, - nil, - shardID, - namespaceIDBytes, - workflowID, - runIDBytes, - ); err != nil { - return serviceerror.NewUnavailable(fmt.Sprintf("applyWorkflowSnapshotTxAsReset failed. Failed to insert into update record map after clearing. Error: %v", err)) - } - if err := deleteTimerInfoMap(ctx, tx, shardID, @@ -491,18 +457,6 @@ func (m *sqlExecutionStore) applyWorkflowSnapshotTxAsNew( return serviceerror.NewUnavailable(fmt.Sprintf("applyWorkflowSnapshotTxAsNew failed. Failed to insert into activity info map after clearing. Error: %v", err)) } - if err := updateUpdateInfoMap(ctx, - tx, - workflowSnapshot.UpdateInfos, - nil, - shardID, - namespaceIDBytes, - workflowID, - runIDBytes, - ); err != nil { - return serviceerror.NewUnavailable(fmt.Sprintf("applyWorkflowSnapshotTxAsNew failed. Failed to insert into update record map after clearing. Error: %v", err)) - } - if err := updateTimerInfos(ctx, tx, workflowSnapshot.TimerInfos, diff --git a/common/persistence/sql/sqlplugin/history_info_records.go b/common/persistence/sql/sqlplugin/history_info_records.go deleted file mode 100644 index 2da33e73e94..00000000000 --- a/common/persistence/sql/sqlplugin/history_info_records.go +++ /dev/null @@ -1,72 +0,0 @@ -// The MIT License -// -// Copyright (c) 2020 Temporal Technologies Inc. All rights reserved. -// -// Copyright (c) 2020 Uber Technologies, Inc. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -package sqlplugin - -import ( - "context" - "database/sql" - - "go.temporal.io/server/common/primitives" -) - -type ( - // UpdateInfoMapsRow represents a row in update_info_maps table - UpdateInfoMapsRow struct { - ShardID int32 - NamespaceID primitives.UUID - WorkflowID string - RunID primitives.UUID - UpdateID string - Data []byte - DataEncoding string - } - - UpdateInfoMapsFilter struct { - ShardID int32 - NamespaceID primitives.UUID - WorkflowID string - RunID primitives.UUID - UpdateIDs []string - } - - UpdateInfoMapsAllFilter struct { - ShardID int32 - NamespaceID primitives.UUID - WorkflowID string - RunID primitives.UUID - } - - // HistoryExecutionUpdateInfo is the SQL persistence interface for history execution updates - HistoryExecutionUpdateInfo interface { - // ReplaceIntoUpdateInfoMaps replace one or more rows into update_info_maps table - ReplaceIntoUpdateInfoMaps(ctx context.Context, rows []UpdateInfoMapsRow) (sql.Result, error) - // SelectAllFromUpdateInfoMaps returns all rows from update_info_maps table - SelectAllFromUpdateInfoMaps(ctx context.Context, filter UpdateInfoMapsAllFilter) ([]UpdateInfoMapsRow, error) - // DeleteFromUpdateInfoMaps deletes one or more rows from update_info_maps table - DeleteFromUpdateInfoMaps(ctx context.Context, filter UpdateInfoMapsFilter) (sql.Result, error) - // DeleteAllFromUpdateInfoMaps deletes all rows from update_info_maps table - DeleteAllFromUpdateInfoMaps(ctx context.Context, filter UpdateInfoMapsAllFilter) (sql.Result, error) - } -) diff --git a/common/persistence/sql/sqlplugin/interfaces.go b/common/persistence/sql/sqlplugin/interfaces.go index 74cd7e1f388..303e5916297 100644 --- a/common/persistence/sql/sqlplugin/interfaces.go +++ b/common/persistence/sql/sqlplugin/interfaces.go @@ -71,7 +71,6 @@ type ( HistoryExecutionActivity HistoryExecutionChildWorkflow HistoryExecutionTimer - HistoryExecutionUpdateInfo HistoryExecutionRequestCancel HistoryExecutionSignal HistoryExecutionSignalRequest diff --git a/common/persistence/sql/sqlplugin/mysql/execution_maps.go b/common/persistence/sql/sqlplugin/mysql/execution_maps.go index 0ad2cc47930..021f3050117 100644 --- a/common/persistence/sql/sqlplugin/mysql/execution_maps.go +++ b/common/persistence/sql/sqlplugin/mysql/execution_maps.go @@ -288,92 +288,6 @@ func (mdb *db) DeleteAllFromTimerInfoMaps( ) } -var ( - updateInfoColumns = []string{ - "data", - "data_encoding", - } - updateInfoTableName = "update_info_maps" - updateInfoKey = "update_id" - - deleteUpdateInfoMapSQLQuery = makeDeleteMapQry(updateInfoTableName) - setKeyInUpdateInfoMapSQLQuery = makeSetKeyInMapQry(updateInfoTableName, updateInfoColumns, updateInfoKey) - deleteKeyInUpdateInfoMapSQLQuery = makeDeleteKeyInMapQry(updateInfoTableName, updateInfoKey) - getUpdateInfoMapSQLQuery = makeGetMapQryTemplate(updateInfoTableName, updateInfoColumns, updateInfoKey) -) - -// ReplaceIntoUpdateInfoMaps replaces one or more rows in update_info_maps table -func (mdb *db) ReplaceIntoUpdateInfoMaps( - ctx context.Context, - rows []sqlplugin.UpdateInfoMapsRow, -) (sql.Result, error) { - return mdb.conn.NamedExecContext(ctx, - setKeyInUpdateInfoMapSQLQuery, - rows, - ) -} - -// SelectAllFromUpdateInfoMaps reads all rows from update_info_maps table -func (mdb *db) SelectAllFromUpdateInfoMaps( - ctx context.Context, - filter sqlplugin.UpdateInfoMapsAllFilter, -) ([]sqlplugin.UpdateInfoMapsRow, error) { - var rows []sqlplugin.UpdateInfoMapsRow - if err := mdb.conn.SelectContext(ctx, - &rows, - getUpdateInfoMapSQLQuery, - filter.ShardID, - filter.NamespaceID, - filter.WorkflowID, - filter.RunID, - ); err != nil { - return nil, err - } - for i := 0; i < len(rows); i++ { - rows[i].ShardID = filter.ShardID - rows[i].NamespaceID = filter.NamespaceID - rows[i].WorkflowID = filter.WorkflowID - rows[i].RunID = filter.RunID - } - return rows, nil -} - -// DeleteFromUpdateInfoMaps deletes one or more rows from update_info_maps table -func (mdb *db) DeleteFromUpdateInfoMaps( - ctx context.Context, - filter sqlplugin.UpdateInfoMapsFilter, -) (sql.Result, error) { - query, args, err := sqlx.In( - deleteKeyInUpdateInfoMapSQLQuery, - filter.ShardID, - filter.NamespaceID, - filter.WorkflowID, - filter.RunID, - filter.UpdateIDs, - ) - if err != nil { - return nil, err - } - return mdb.conn.ExecContext(ctx, - mdb.conn.Rebind(query), - args..., - ) -} - -// DeleteAllFromUpdateInfoMaps deletes all rows from update_info_maps table -func (mdb *db) DeleteAllFromUpdateInfoMaps( - ctx context.Context, - filter sqlplugin.UpdateInfoMapsAllFilter, -) (sql.Result, error) { - return mdb.conn.ExecContext(ctx, - deleteUpdateInfoMapSQLQuery, - filter.ShardID, - filter.NamespaceID, - filter.WorkflowID, - filter.RunID, - ) -} - var ( childExecutionInfoColumns = []string{ "data", diff --git a/common/persistence/sql/sqlplugin/postgresql/execution_maps.go b/common/persistence/sql/sqlplugin/postgresql/execution_maps.go index 62d280d037c..90393c7d2d3 100644 --- a/common/persistence/sql/sqlplugin/postgresql/execution_maps.go +++ b/common/persistence/sql/sqlplugin/postgresql/execution_maps.go @@ -234,92 +234,6 @@ func (pdb *db) DeleteAllFromActivityInfoMaps( ) } -var ( - // Omit shard_id, run_id, namespace_id, workflow_id, update_id since they're in the primary key - updateInfoColumns = []string{ - "data", - "data_encoding", - } - updateInfoTableName = "update_info_maps" - updateInfoKey = "update_id" - - deleteUpdateInfoMapQry = makeDeleteMapQry(updateInfoTableName) - setKeyInUpdateInfoMapQry = makeSetKeyInMapQry(updateInfoTableName, updateInfoColumns, updateInfoKey) - deleteKeyInUpdateInfoMapQry = makeDeleteKeyInMapQry(updateInfoTableName, updateInfoKey) - getUpdateInfoMapQry = makeGetMapQryTemplate(updateInfoTableName, updateInfoColumns, updateInfoKey) -) - -// ReplaceIntoUpdateInfoMaps replaces one or more rows in update_info_maps table -func (pdb *db) ReplaceIntoUpdateInfoMaps( - ctx context.Context, - rows []sqlplugin.UpdateInfoMapsRow, -) (sql.Result, error) { - return pdb.conn.NamedExecContext(ctx, - setKeyInUpdateInfoMapQry, - rows, - ) -} - -// SelectAllFromUpdateInfoMaps reads all rows from update_info_maps table -func (pdb *db) SelectAllFromUpdateInfoMaps( - ctx context.Context, - filter sqlplugin.UpdateInfoMapsAllFilter, -) ([]sqlplugin.UpdateInfoMapsRow, error) { - var rows []sqlplugin.UpdateInfoMapsRow - if err := pdb.conn.SelectContext(ctx, - &rows, getUpdateInfoMapQry, - filter.ShardID, - filter.NamespaceID, - filter.WorkflowID, - filter.RunID, - ); err != nil { - return nil, err - } - for i := 0; i < len(rows); i++ { - rows[i].ShardID = filter.ShardID - rows[i].NamespaceID = filter.NamespaceID - rows[i].WorkflowID = filter.WorkflowID - rows[i].RunID = filter.RunID - } - return rows, nil -} - -// DeleteFromUpdateInfoMaps deletes one or more rows from update_info_maps table -func (pdb *db) DeleteFromUpdateInfoMaps( - ctx context.Context, - filter sqlplugin.UpdateInfoMapsFilter, -) (sql.Result, error) { - query, args, err := sqlx.In( - deleteKeyInUpdateInfoMapQry, - filter.ShardID, - filter.NamespaceID, - filter.WorkflowID, - filter.RunID, - filter.UpdateIDs, - ) - if err != nil { - return nil, err - } - return pdb.conn.ExecContext(ctx, - pdb.conn.Rebind(query), - args..., - ) -} - -// DeleteAllFromUpdateInfoMaps deletes all rows from update_info_maps table -func (pdb *db) DeleteAllFromUpdateInfoMaps( - ctx context.Context, - filter sqlplugin.UpdateInfoMapsAllFilter, -) (sql.Result, error) { - return pdb.conn.ExecContext(ctx, - deleteUpdateInfoMapQry, - filter.ShardID, - filter.NamespaceID, - filter.WorkflowID, - filter.RunID, - ) -} - var ( timerInfoColumns = []string{ "data", diff --git a/common/persistence/sql/sqlplugin/sqlite/execution_maps.go b/common/persistence/sql/sqlplugin/sqlite/execution_maps.go index 6d51421cfcc..ccb0500b92d 100644 --- a/common/persistence/sql/sqlplugin/sqlite/execution_maps.go +++ b/common/persistence/sql/sqlplugin/sqlite/execution_maps.go @@ -289,92 +289,6 @@ func (mdb *db) DeleteAllFromTimerInfoMaps( ) } -var ( - updateInfoColumns = []string{ - "data", - "data_encoding", - } - updateInfoTableName = "update_info_maps" - updateInfoKey = "update_id" - - deleteUpdateInfoMapSQLQuery = makeDeleteMapQry(updateInfoTableName) - setKeyInUpdateInfoMapSQLQuery = makeSetKeyInMapQry(updateInfoTableName, updateInfoColumns, updateInfoKey) - deleteKeyInUpdateInfoMapSQLQuery = makeDeleteKeyInMapQry(updateInfoTableName, updateInfoKey) - getUpdateInfoMapSQLQuery = makeGetMapQryTemplate(updateInfoTableName, updateInfoColumns, updateInfoKey) -) - -// ReplaceIntoUpdateInfoMaps replaces one or more rows in update_info_maps table -func (mdb *db) ReplaceIntoUpdateInfoMaps( - ctx context.Context, - rows []sqlplugin.UpdateInfoMapsRow, -) (sql.Result, error) { - return mdb.conn.NamedExecContext(ctx, - setKeyInUpdateInfoMapSQLQuery, - rows, - ) -} - -// SelectAllFromUpdateInfoMaps reads all rows from update_info_maps table -func (mdb *db) SelectAllFromUpdateInfoMaps( - ctx context.Context, - filter sqlplugin.UpdateInfoMapsAllFilter, -) ([]sqlplugin.UpdateInfoMapsRow, error) { - var rows []sqlplugin.UpdateInfoMapsRow - if err := mdb.conn.SelectContext(ctx, - &rows, - getUpdateInfoMapSQLQuery, - filter.ShardID, - filter.NamespaceID, - filter.WorkflowID, - filter.RunID, - ); err != nil { - return nil, err - } - for i := 0; i < len(rows); i++ { - rows[i].ShardID = filter.ShardID - rows[i].NamespaceID = filter.NamespaceID - rows[i].WorkflowID = filter.WorkflowID - rows[i].RunID = filter.RunID - } - return rows, nil -} - -// DeleteFromUpdateInfoMaps deletes one or more rows from update_info_maps table -func (mdb *db) DeleteFromUpdateInfoMaps( - ctx context.Context, - filter sqlplugin.UpdateInfoMapsFilter, -) (sql.Result, error) { - query, args, err := sqlx.In( - deleteKeyInUpdateInfoMapSQLQuery, - filter.ShardID, - filter.NamespaceID, - filter.WorkflowID, - filter.RunID, - filter.UpdateIDs, - ) - if err != nil { - return nil, err - } - return mdb.conn.ExecContext(ctx, - mdb.conn.Rebind(query), - args..., - ) -} - -// DeleteAllFromUpdateInfoMaps deletes all rows from update_info_maps table -func (mdb *db) DeleteAllFromUpdateInfoMaps( - ctx context.Context, - filter sqlplugin.UpdateInfoMapsAllFilter, -) (sql.Result, error) { - return mdb.conn.ExecContext(ctx, - deleteUpdateInfoMapSQLQuery, - filter.ShardID, - filter.NamespaceID, - filter.WorkflowID, - filter.RunID, - ) -} - var ( childExecutionInfoColumns = []string{ "data", diff --git a/common/persistence/tests/execution_mutable_state.go b/common/persistence/tests/execution_mutable_state.go index 57c883b21a0..74cf9652bef 100644 --- a/common/persistence/tests/execution_mutable_state.go +++ b/common/persistence/tests/execution_mutable_state.go @@ -1760,16 +1760,17 @@ func (s *ExecutionMutableStateSuite) Accumulate( mutations ...*p.WorkflowMutation, ) (*persistencespb.WorkflowMutableState, int64) { mutableState := &persistencespb.WorkflowMutableState{ - ExecutionInfo: snapshot.ExecutionInfo, - ExecutionState: snapshot.ExecutionState, - NextEventId: snapshot.NextEventID, + ExecutionInfo: snapshot.ExecutionInfo, + ExecutionState: snapshot.ExecutionState, + + NextEventId: snapshot.NextEventID, + ActivityInfos: snapshot.ActivityInfos, TimerInfos: snapshot.TimerInfos, ChildExecutionInfos: snapshot.ChildExecutionInfos, RequestCancelInfos: snapshot.RequestCancelInfos, SignalInfos: snapshot.SignalInfos, SignalRequestedIds: convert.StringSetToSlice(snapshot.SignalRequestedIDs), - UpdateInfos: snapshot.UpdateInfos, } dbRecordVersion := snapshot.DBRecordVersion @@ -1822,13 +1823,6 @@ func (s *ExecutionMutableStateSuite) Accumulate( delete(mutableState.SignalInfos, key) } - for key, rec := range mutation.UpsertUpdateInfos { - mutableState.UpdateInfos[key] = rec - } - for key := range mutation.DeleteUpdateInfos { - delete(mutableState.UpdateInfos, key) - } - // signal request IDs signalRequestIDs := convert.StringSliceToSet(mutableState.SignalRequestedIds) for key, info := range mutation.UpsertSignalRequestedIDs { @@ -1876,9 +1870,6 @@ func (s *ExecutionMutableStateSuite) Accumulate( if mutableState.BufferedEvents == nil { mutableState.BufferedEvents = make([]*historypb.HistoryEvent, 0) } - if mutableState.UpdateInfos == nil { - mutableState.UpdateInfos = make(map[string]*persistencespb.UpdateInfo) - } return mutableState, dbRecordVersion } diff --git a/common/persistence/tests/util.go b/common/persistence/tests/util.go index f1e95fc76b1..fc493f39350 100644 --- a/common/persistence/tests/util.go +++ b/common/persistence/tests/util.go @@ -76,7 +76,6 @@ func RandomSnapshot( RequestCancelInfos: RandomInt64RequestCancelInfoMap(), SignalInfos: RandomInt64SignalInfoMap(), SignalRequestedIDs: map[string]struct{}{uuid.New().String(): {}}, - UpdateInfos: RandomStringUpdateInfoMap(), Tasks: map[tasks.Category][]tasks.Task{ tasks.CategoryTransfer: {}, @@ -117,8 +116,6 @@ func RandomMutation( DeleteSignalInfos: map[int64]struct{}{rand.Int63(): {}}, UpsertSignalRequestedIDs: map[string]struct{}{uuid.New().String(): {}}, DeleteSignalRequestedIDs: map[string]struct{}{uuid.New().String(): {}}, - UpsertUpdateInfos: RandomStringUpdateInfoMap(), - DeleteUpdateInfos: map[string]struct{}{uuid.NewString(): {}}, // NewBufferedEvents: see below // ClearBufferedEvents: see below @@ -205,12 +202,6 @@ func RandomInt64SignalInfoMap() map[int64]*persistencespb.SignalInfo { } } -func RandomStringUpdateInfoMap() map[string]*persistencespb.UpdateInfo { - return map[string]*persistencespb.UpdateInfo{ - uuid.NewString(): RandomUpdateInfo(), - } -} - func RandomActivityInfo() *persistencespb.ActivityInfo { // cannot use gofakeit due to RetryLastFailure is of type Failure // and Failure can contain another Failure -> stack overflow @@ -272,22 +263,6 @@ func RandomResetPoints() *workflowpb.ResetPoints { }}} } -func RandomUpdateInfo() *persistencespb.UpdateInfo { - ptr := historyspb.HistoryEventPointer{EventId: rand.Int63()} - if rand.Intn(2) == 0 { - return &persistencespb.UpdateInfo{ - Value: &persistencespb.UpdateInfo_AcceptancePointer{ - AcceptancePointer: &ptr, - }, - } - } - return &persistencespb.UpdateInfo{ - Value: &persistencespb.UpdateInfo_CompletedPointer{ - CompletedPointer: &ptr, - }, - } -} - func RandomStringPayloadMap() map[string]*commonpb.Payload { return map[string]*commonpb.Payload{ uuid.New().String(): RandomPayload(), diff --git a/proto/internal/temporal/server/api/history/v1/message.proto b/proto/internal/temporal/server/api/history/v1/message.proto index a6c0553b036..2fbc94a8955 100644 --- a/proto/internal/temporal/server/api/history/v1/message.proto +++ b/proto/internal/temporal/server/api/history/v1/message.proto @@ -65,7 +65,3 @@ message TaskRange { TaskKey inclusive_min_task_key = 1; TaskKey exclusive_max_task_key = 2; } - -message HistoryEventPointer { - int64 event_id = 1; -} diff --git a/proto/internal/temporal/server/api/persistence/v1/executions.proto b/proto/internal/temporal/server/api/persistence/v1/executions.proto index 8970c01cf45..5f1abb07817 100644 --- a/proto/internal/temporal/server/api/persistence/v1/executions.proto +++ b/proto/internal/temporal/server/api/persistence/v1/executions.proto @@ -358,12 +358,3 @@ message Checksum { temporal.server.api.enums.v1.ChecksumFlavor flavor = 2; bytes value = 3; } - -message UpdateInfo { - oneof value { - // update has been accepted and this is the pointer to the accepted event - temporal.server.api.history.v1.HistoryEventPointer acceptance_pointer = 1; - // update has been completed and this is the pointer to the completion event - temporal.server.api.history.v1.HistoryEventPointer completed_pointer = 2; - } -} diff --git a/proto/internal/temporal/server/api/persistence/v1/workflow_mutable_state.proto b/proto/internal/temporal/server/api/persistence/v1/workflow_mutable_state.proto index 04d4b71f2e2..1902b5279e0 100644 --- a/proto/internal/temporal/server/api/persistence/v1/workflow_mutable_state.proto +++ b/proto/internal/temporal/server/api/persistence/v1/workflow_mutable_state.proto @@ -38,6 +38,4 @@ message WorkflowMutableState{ int64 next_event_id = 9; repeated temporal.api.history.v1.HistoryEvent buffered_events = 10; Checksum checksum = 11; - // map key here is UpdateID - map update_infos = 12; } diff --git a/schema/cassandra/temporal/schema.cql b/schema/cassandra/temporal/schema.cql index 923b07fcc89..71925e64d21 100644 --- a/schema/cassandra/temporal/schema.cql +++ b/schema/cassandra/temporal/schema.cql @@ -41,8 +41,6 @@ CREATE TABLE executions ( request_cancel_map_encoding text, signal_map map, signal_map_encoding text, - update_info_map map, - update_info_map_encoding text, signal_requested set, buffered_events_list list>, workflow_last_write_version bigint, diff --git a/schema/cassandra/temporal/versioned/v1.8/executions.cql b/schema/cassandra/temporal/versioned/v1.8/executions.cql deleted file mode 100644 index e7cc28dc584..00000000000 --- a/schema/cassandra/temporal/versioned/v1.8/executions.cql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE executions ADD update_info_map map; -ALTER TABLE executions add update_info_map_encoding text; diff --git a/schema/cassandra/temporal/versioned/v1.8/manifest.json b/schema/cassandra/temporal/versioned/v1.8/manifest.json deleted file mode 100644 index 9075fa691e0..00000000000 --- a/schema/cassandra/temporal/versioned/v1.8/manifest.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "CurrVersion": "1.8", - "MinCompatibleVersion": "1.0", - "Description": "add storage for update records", - "SchemaUpdateCqlFiles": [ - "executions.cql" - ] -} diff --git a/schema/cassandra/version.go b/schema/cassandra/version.go index 934f4c0c6f0..554a24da6a6 100644 --- a/schema/cassandra/version.go +++ b/schema/cassandra/version.go @@ -27,7 +27,7 @@ package cassandra // NOTE: whenever there is a new database schema update, plz update the following versions // Version is the Cassandra database release version -const Version = "1.8" +const Version = "1.7" // VisibilityVersion is the Cassandra visibility database release version const VisibilityVersion = "1.0" diff --git a/schema/mysql/v57/temporal/schema.sql b/schema/mysql/v57/temporal/schema.sql index 5777f54efab..297423311eb 100644 --- a/schema/mysql/v57/temporal/schema.sql +++ b/schema/mysql/v57/temporal/schema.sql @@ -228,19 +228,6 @@ CREATE TABLE signals_requested_sets ( PRIMARY KEY (shard_id, namespace_id, workflow_id, run_id, signal_id) ); -CREATE TABLE update_info_maps ( --- each row corresponds to one key of one map - shard_id INT NOT NULL, - namespace_id BINARY(16) NOT NULL, - workflow_id VARCHAR(255) NOT NULL, - run_id BINARY(16) NOT NULL, - update_id VARCHAR(255) NOT NULL, --- - data MEDIUMBLOB NOT NULL, - data_encoding VARCHAR(16), - PRIMARY KEY (shard_id, namespace_id, workflow_id, run_id, update_id) -); - -- history eventsV2: history_node stores history event data CREATE TABLE history_node ( shard_id INT NOT NULL, diff --git a/schema/mysql/v57/temporal/versioned/v1.10/manifest.json b/schema/mysql/v57/temporal/versioned/v1.10/manifest.json deleted file mode 100644 index f9040ac8fd6..00000000000 --- a/schema/mysql/v57/temporal/versioned/v1.10/manifest.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "CurrVersion": "1.10", - "MinCompatibleVersion": "1.0", - "Description": "add storage for update records", - "SchemaUpdateCqlFiles": [ - "update_info_maps_table.sql" - ] -} diff --git a/schema/mysql/v57/temporal/versioned/v1.10/update_info_maps_table.sql b/schema/mysql/v57/temporal/versioned/v1.10/update_info_maps_table.sql deleted file mode 100644 index 5f6e59bf38f..00000000000 --- a/schema/mysql/v57/temporal/versioned/v1.10/update_info_maps_table.sql +++ /dev/null @@ -1,12 +0,0 @@ -CREATE TABLE update_info_maps ( --- each row corresponds to one key of one map - shard_id INT NOT NULL, - namespace_id BINARY(16) NOT NULL, - workflow_id VARCHAR(255) NOT NULL, - run_id BINARY(16) NOT NULL, - updat_id VARCHAR(255) NOT NULL, --- - data MEDIUMBLOB NOT NULL, - data_encoding VARCHAR(16), - PRIMARY KEY (shard_id, namespace_id, workflow_id, run_id, update_id) -); diff --git a/schema/mysql/v8/temporal/schema.sql b/schema/mysql/v8/temporal/schema.sql index 17d6f419fb5..3e4b8dd4170 100644 --- a/schema/mysql/v8/temporal/schema.sql +++ b/schema/mysql/v8/temporal/schema.sql @@ -228,19 +228,6 @@ CREATE TABLE signals_requested_sets ( PRIMARY KEY (shard_id, namespace_id, workflow_id, run_id, signal_id) ); -CREATE TABLE update_info_maps ( --- each row corresponds to one key of one map - shard_id INT NOT NULL, - namespace_id BINARY(16) NOT NULL, - workflow_id VARCHAR(255) NOT NULL, - run_id BINARY(16) NOT NULL, - update_id VARCHAR(255) NOT NULL, --- - data MEDIUMBLOB NOT NULL, - data_encoding VARCHAR(16), - PRIMARY KEY (shard_id, namespace_id, workflow_id, run_id, update_id) -); - -- history eventsV2: history_node stores history event data CREATE TABLE history_node ( shard_id INT NOT NULL, diff --git a/schema/mysql/v8/temporal/versioned/v1.10/manifest.json b/schema/mysql/v8/temporal/versioned/v1.10/manifest.json deleted file mode 100644 index f9040ac8fd6..00000000000 --- a/schema/mysql/v8/temporal/versioned/v1.10/manifest.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "CurrVersion": "1.10", - "MinCompatibleVersion": "1.0", - "Description": "add storage for update records", - "SchemaUpdateCqlFiles": [ - "update_info_maps_table.sql" - ] -} diff --git a/schema/mysql/v8/temporal/versioned/v1.10/update_info_maps_table.sql b/schema/mysql/v8/temporal/versioned/v1.10/update_info_maps_table.sql deleted file mode 100644 index 5f6e59bf38f..00000000000 --- a/schema/mysql/v8/temporal/versioned/v1.10/update_info_maps_table.sql +++ /dev/null @@ -1,12 +0,0 @@ -CREATE TABLE update_info_maps ( --- each row corresponds to one key of one map - shard_id INT NOT NULL, - namespace_id BINARY(16) NOT NULL, - workflow_id VARCHAR(255) NOT NULL, - run_id BINARY(16) NOT NULL, - updat_id VARCHAR(255) NOT NULL, --- - data MEDIUMBLOB NOT NULL, - data_encoding VARCHAR(16), - PRIMARY KEY (shard_id, namespace_id, workflow_id, run_id, update_id) -); diff --git a/schema/postgresql/v12/temporal/schema.sql b/schema/postgresql/v12/temporal/schema.sql index c2a3f35cd44..765e9e32e21 100644 --- a/schema/postgresql/v12/temporal/schema.sql +++ b/schema/postgresql/v12/temporal/schema.sql @@ -228,19 +228,6 @@ CREATE TABLE signals_requested_sets ( PRIMARY KEY (shard_id, namespace_id, workflow_id, run_id, signal_id) ); -CREATE TABLE update_info_maps ( --- each row corresponds to one key of one map - shard_id INTEGER NOT NULL, - namespace_id BYTEA NOT NULL, - workflow_id VARCHAR(255) NOT NULL, - run_id BYTEA NOT NULL, - update_id VARCHAR(255) NOT NULL, --- - data BYTEA NOT NULL, - data_encoding VARCHAR(16), - PRIMARY KEY (shard_id, namespace_id, workflow_id, run_id, update_id) -); - -- history eventsV2: history_node stores history event data CREATE TABLE history_node ( shard_id INTEGER NOT NULL, @@ -308,4 +295,4 @@ CREATE UNIQUE INDEX cm_idx_rolehost ON cluster_membership (role, host_id); CREATE INDEX cm_idx_rolelasthb ON cluster_membership (role, last_heartbeat); CREATE INDEX cm_idx_rpchost ON cluster_membership (rpc_address, role); CREATE INDEX cm_idx_lasthb ON cluster_membership (last_heartbeat); -CREATE INDEX cm_idx_recordexpiry ON cluster_membership (record_expiry); +CREATE INDEX cm_idx_recordexpiry ON cluster_membership (record_expiry); \ No newline at end of file diff --git a/schema/postgresql/v12/temporal/versioned/v1.10/manifest.json b/schema/postgresql/v12/temporal/versioned/v1.10/manifest.json deleted file mode 100644 index f9040ac8fd6..00000000000 --- a/schema/postgresql/v12/temporal/versioned/v1.10/manifest.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "CurrVersion": "1.10", - "MinCompatibleVersion": "1.0", - "Description": "add storage for update records", - "SchemaUpdateCqlFiles": [ - "update_info_maps_table.sql" - ] -} diff --git a/schema/postgresql/v12/temporal/versioned/v1.10/update_info_maps_table.sql b/schema/postgresql/v12/temporal/versioned/v1.10/update_info_maps_table.sql deleted file mode 100644 index 9de45d8d447..00000000000 --- a/schema/postgresql/v12/temporal/versioned/v1.10/update_info_maps_table.sql +++ /dev/null @@ -1,12 +0,0 @@ -CREATE TABLE update_info_maps ( --- each row corresponds to one key of one map - shard_id INTEGER NOT NULL, - namespace_id BYTEA NOT NULL, - workflow_id VARCHAR(255) NOT NULL, - run_id BYTEA NOT NULL, - update_id VARCHAR(255) NOT NULL, --- - data BYTEA NOT NULL, - data_encoding VARCHAR(16), - PRIMARY KEY (shard_id, namespace_id, workflow_id, run_id, update_id) -); diff --git a/schema/postgresql/v12/version.go b/schema/postgresql/v12/version.go index 2fee48a67d3..96aa84baae7 100644 --- a/schema/postgresql/v12/version.go +++ b/schema/postgresql/v12/version.go @@ -28,7 +28,7 @@ package v12 // Version is the Postgres database release version // Temporal supports both MySQL and Postgres officially, so upgrade should be performed for both MySQL and Postgres -const Version = "1.10" +const Version = "1.9" // VisibilityVersion is the Postgres visibility database release version // Temporal supports both MySQL and Postgres officially, so upgrade should be performed for both MySQL and Postgres diff --git a/schema/postgresql/v96/temporal/schema.sql b/schema/postgresql/v96/temporal/schema.sql index c2a3f35cd44..765e9e32e21 100644 --- a/schema/postgresql/v96/temporal/schema.sql +++ b/schema/postgresql/v96/temporal/schema.sql @@ -228,19 +228,6 @@ CREATE TABLE signals_requested_sets ( PRIMARY KEY (shard_id, namespace_id, workflow_id, run_id, signal_id) ); -CREATE TABLE update_info_maps ( --- each row corresponds to one key of one map - shard_id INTEGER NOT NULL, - namespace_id BYTEA NOT NULL, - workflow_id VARCHAR(255) NOT NULL, - run_id BYTEA NOT NULL, - update_id VARCHAR(255) NOT NULL, --- - data BYTEA NOT NULL, - data_encoding VARCHAR(16), - PRIMARY KEY (shard_id, namespace_id, workflow_id, run_id, update_id) -); - -- history eventsV2: history_node stores history event data CREATE TABLE history_node ( shard_id INTEGER NOT NULL, @@ -308,4 +295,4 @@ CREATE UNIQUE INDEX cm_idx_rolehost ON cluster_membership (role, host_id); CREATE INDEX cm_idx_rolelasthb ON cluster_membership (role, last_heartbeat); CREATE INDEX cm_idx_rpchost ON cluster_membership (rpc_address, role); CREATE INDEX cm_idx_lasthb ON cluster_membership (last_heartbeat); -CREATE INDEX cm_idx_recordexpiry ON cluster_membership (record_expiry); +CREATE INDEX cm_idx_recordexpiry ON cluster_membership (record_expiry); \ No newline at end of file diff --git a/schema/postgresql/v96/temporal/versioned/v1.10/manifest.json b/schema/postgresql/v96/temporal/versioned/v1.10/manifest.json deleted file mode 100644 index f9040ac8fd6..00000000000 --- a/schema/postgresql/v96/temporal/versioned/v1.10/manifest.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "CurrVersion": "1.10", - "MinCompatibleVersion": "1.0", - "Description": "add storage for update records", - "SchemaUpdateCqlFiles": [ - "update_info_maps_table.sql" - ] -} diff --git a/schema/postgresql/v96/temporal/versioned/v1.10/update_info_maps_table.sql b/schema/postgresql/v96/temporal/versioned/v1.10/update_info_maps_table.sql deleted file mode 100644 index 9de45d8d447..00000000000 --- a/schema/postgresql/v96/temporal/versioned/v1.10/update_info_maps_table.sql +++ /dev/null @@ -1,12 +0,0 @@ -CREATE TABLE update_info_maps ( --- each row corresponds to one key of one map - shard_id INTEGER NOT NULL, - namespace_id BYTEA NOT NULL, - workflow_id VARCHAR(255) NOT NULL, - run_id BYTEA NOT NULL, - update_id VARCHAR(255) NOT NULL, --- - data BYTEA NOT NULL, - data_encoding VARCHAR(16), - PRIMARY KEY (shard_id, namespace_id, workflow_id, run_id, update_id) -); diff --git a/schema/postgresql/v96/version.go b/schema/postgresql/v96/version.go index 84387c62df3..9172a5a9e1e 100644 --- a/schema/postgresql/v96/version.go +++ b/schema/postgresql/v96/version.go @@ -28,7 +28,7 @@ package v96 // Version is the Postgres database release version // Temporal supports both MySQL and Postgres officially, so upgrade should be performed for both MySQL and Postgres -const Version = "1.10" +const Version = "1.9" // VisibilityVersion is the Postgres visibility database release version // Temporal supports both MySQL and Postgres officially, so upgrade should be performed for both MySQL and Postgres diff --git a/schema/sqlite/v3/temporal/schema.sql b/schema/sqlite/v3/temporal/schema.sql index 940ae6fd6e9..bd0344cdfab 100644 --- a/schema/sqlite/v3/temporal/schema.sql +++ b/schema/sqlite/v3/temporal/schema.sql @@ -193,18 +193,6 @@ CREATE TABLE child_execution_info_maps ( PRIMARY KEY (shard_id, namespace_id, workflow_id, run_id, initiated_id) ); -CREATE TABLE update_info_maps ( - shard_id INT NOT NULL, - namespace_id BINARY(16) NOT NULL, - workflow_id VARCHAR(255) NOT NULL, - run_id BINARY(16) NOT NULL, - update_id VARCHAR(255), --- - data MEDIUMBLOB NOT NULL, - data_encoding VARCHAR(16), - PRIMARY KEY (shard_id, namespace_id, workflow_id, run_id, update_id) -); - CREATE TABLE request_cancel_info_maps ( shard_id INT NOT NULL, namespace_id BINARY(16) NOT NULL, diff --git a/service/history/workflow/mutable_state.go b/service/history/workflow/mutable_state.go index d1c2e74b29d..4ca33eb68d5 100644 --- a/service/history/workflow/mutable_state.go +++ b/service/history/workflow/mutable_state.go @@ -157,7 +157,6 @@ type ( DeleteWorkflowTask() DeleteSignalRequested(requestID string) FlushBufferedEvents() - GetAcceptedWorkflowExecutionUpdateIDs(context.Context) ([]string, error) GetWorkflowKey() definition.WorkflowKey GetActivityByActivityID(string) (*persistencespb.ActivityInfo, bool) GetActivityInfo(int64) (*persistencespb.ActivityInfo, bool) @@ -199,7 +198,6 @@ type ( GetWorkflowStateStatus() (enumsspb.WorkflowExecutionState, enumspb.WorkflowExecutionStatus) GetQueryRegistry() QueryRegistry GetBaseWorkflowInfo() *workflowspb.BaseExecutionInfo - GetUpdateOutcome(ctx context.Context, updateID string) (*updatepb.Outcome, error) IsTransientWorkflowTask() bool ClearTransientWorkflowTask() error HasBufferedEvents() bool @@ -259,8 +257,6 @@ type ( ReplicateWorkflowExecutionStartedEvent(*clockspb.VectorClock, commonpb.WorkflowExecution, string, *historypb.HistoryEvent) error ReplicateWorkflowExecutionTerminatedEvent(int64, *historypb.HistoryEvent) error ReplicateWorkflowExecutionTimedoutEvent(int64, *historypb.HistoryEvent) error - ReplicateWorkflowExecutionUpdateAcceptedEvent(*historypb.HistoryEvent) error - ReplicateWorkflowExecutionUpdateCompletedEvent(*historypb.HistoryEvent) error SetCurrentBranchToken(branchToken []byte) error SetHistoryBuilder(hBuilder *HistoryBuilder) SetHistoryTree(ctx context.Context, executionTimeout *time.Duration, runTimeout *time.Duration, treeID string) error diff --git a/service/history/workflow/mutable_state_impl.go b/service/history/workflow/mutable_state_impl.go index 4750a394208..83b5a788b7d 100644 --- a/service/history/workflow/mutable_state_impl.go +++ b/service/history/workflow/mutable_state_impl.go @@ -133,8 +133,6 @@ type ( updateSignalRequestedIDs map[string]struct{} // Set of signaled requestIds since last update deleteSignalRequestedIDs map[string]struct{} // Deleted signaled requestId - updateInfos map[string]*persistencespb.UpdateInfo - executionInfo *persistencespb.WorkflowExecutionInfo // Workflow mutable state info. executionState *persistencespb.WorkflowExecutionState @@ -222,8 +220,6 @@ func NewMutableState( pendingSignalRequestedIDs: make(map[string]struct{}), deleteSignalRequestedIDs: make(map[string]struct{}), - updateInfos: make(map[string]*persistencespb.UpdateInfo), - currentVersion: namespaceEntry.FailoverVersion(), bufferEventsInDB: nil, stateInDB: enumsspb.WORKFLOW_EXECUTION_STATE_VOID, @@ -319,10 +315,6 @@ func newMutableStateFromDB( mutableState.pendingSignalInfoIDs = dbRecord.SignalInfos } - if dbRecord.UpdateInfos != nil { - mutableState.updateInfos = dbRecord.UpdateInfos - } - mutableState.pendingSignalRequestedIDs = convert.StringSliceToSet(dbRecord.SignalRequestedIds) mutableState.executionState = dbRecord.ExecutionState mutableState.executionInfo = dbRecord.ExecutionInfo @@ -403,7 +395,6 @@ func (ms *MutableStateImpl) CloneToProto() *persistencespb.WorkflowMutableState NextEventId: ms.hBuilder.NextEventID(), BufferedEvents: ms.bufferEventsInDB, Checksum: ms.checksum, - UpdateInfos: ms.updateInfos, } return common.CloneProto(msProto) @@ -660,41 +651,6 @@ func (ms *MutableStateImpl) GetQueryRegistry() QueryRegistry { return ms.QueryRegistry } -func (ms *MutableStateImpl) GetUpdateOutcome( - ctx context.Context, - updateID string, -) (*updatepb.Outcome, error) { - rec, ok := ms.updateInfos[updateID] - if !ok { - return nil, serviceerror.NewNotFound("update not found") - } - compPtr := rec.GetCompletedPointer() - if compPtr == nil { - // not an error because update was found, but update has not completed - return nil, nil - } - currentBranchToken, version, err := ms.getCurrentBranchTokenAndEventVersion(compPtr.EventId) - if err != nil { - return nil, err - } - eventKey := events.EventKey{ - NamespaceID: namespace.ID(ms.executionInfo.NamespaceId), - WorkflowID: ms.executionInfo.WorkflowId, - RunID: ms.executionState.RunId, - EventID: compPtr.EventId, - Version: version, - } - event, err := ms.eventsCache.GetEvent(ctx, eventKey, compPtr.EventId-1, currentBranchToken) - if err != nil { - return nil, err - } - attrs := event.GetWorkflowExecutionUpdateCompletedEventAttributes() - if attrs == nil { - return nil, serviceerror.NewInternal("event pointer does not reference an update completed event") - } - return attrs.GetOutcome(), nil -} - func (ms *MutableStateImpl) GetActivityScheduledEvent( ctx context.Context, scheduledEventID int64, @@ -1100,8 +1056,6 @@ func (ms *MutableStateImpl) writeEventToCache( // load it from database // For completion event: store it within events cache so we can communicate the result to parent execution // during the processing of DeleteTransferTask without loading this event from database - // For Update Accepted/Completed event: store it in here so that Update - // disposition lookups can be fast ms.eventsCache.PutEvent( events.EventKey{ NamespaceID: namespace.ID(ms.executionInfo.NamespaceId), @@ -3241,67 +3195,21 @@ func (ms *MutableStateImpl) AddWorkflowExecutionUpdateAcceptedEvent(protocolInst return nil, err } event := ms.hBuilder.AddWorkflowExecutionUpdateAcceptedEvent(protocolInstanceID, updAcceptance) - if err := ms.ReplicateWorkflowExecutionUpdateAcceptedEvent(event); err != nil { - return nil, err - } + // TODO (alex-update): Async workflow update will require ReplicateWorkflowExecutionUpdateAcceptedEvent + // which restores update in the registry if it is not there. return event, nil } -func (ms *MutableStateImpl) ReplicateWorkflowExecutionUpdateAcceptedEvent( - event *historypb.HistoryEvent, -) error { - attrs := event.GetWorkflowExecutionUpdateAcceptedEventAttributes() - if attrs == nil { - return serviceerror.NewInternal("wrong event type in call to ReplicateworkflowExecutionUpdateAcceptedEvent") - } - ms.updateInfos[attrs.GetAcceptedRequest().GetMeta().GetUpdateId()] = &persistencespb.UpdateInfo{ - Value: &persistencespb.UpdateInfo_AcceptancePointer{ - AcceptancePointer: &historyspb.HistoryEventPointer{EventId: event.GetEventId()}, - }, - } - ms.writeEventToCache(event) - return nil -} - func (ms *MutableStateImpl) AddWorkflowExecutionUpdateCompletedEvent(updResp *updatepb.Response) (*historypb.HistoryEvent, error) { if err := ms.checkMutability(tag.WorkflowActionUpdateCompleted); err != nil { return nil, err } event := ms.hBuilder.AddWorkflowExecutionUpdateCompletedEvent(updResp) - if err := ms.ReplicateWorkflowExecutionUpdateCompletedEvent(event); err != nil { - return nil, err - } + // TODO (alex-update): Async workflow update will require ReplicateWorkflowExecutionUpdateCompletedEvent + // which removes it from registry and notify update result pollers. return event, nil } -func (ms *MutableStateImpl) GetAcceptedWorkflowExecutionUpdateIDs( - ctx context.Context, -) ([]string, error) { - out := make([]string, 0) - for id, updateInfo := range ms.updateInfos { - if updateInfo.GetAcceptancePointer() != nil { - out = append(out, id) - } - } - return out, nil -} - -func (ms *MutableStateImpl) ReplicateWorkflowExecutionUpdateCompletedEvent( - event *historypb.HistoryEvent, -) error { - attrs := event.GetWorkflowExecutionUpdateCompletedEventAttributes() - if attrs == nil { - return serviceerror.NewInternal("wrong event type in call to ReplicateworkflowExecutionUpdateCompletedEvent") - } - ms.updateInfos[attrs.GetMeta().GetUpdateId()] = &persistencespb.UpdateInfo{ - Value: &persistencespb.UpdateInfo_CompletedPointer{ - CompletedPointer: &historyspb.HistoryEventPointer{EventId: event.GetEventId()}, - }, - } - ms.writeEventToCache(event) - return nil -} - func (ms *MutableStateImpl) RejectWorkflowExecutionUpdate(_ string, _ *updatepb.Rejection) error { // TODO (alex-update): This method is noop because we don't currently write rejections to the history. return nil @@ -4191,7 +4099,6 @@ func (ms *MutableStateImpl) CloseTransactionAsSnapshot( RequestCancelInfos: ms.pendingRequestCancelInfoIDs, SignalInfos: ms.pendingSignalInfoIDs, SignalRequestedIDs: ms.pendingSignalRequestedIDs, - UpdateInfos: ms.updateInfos, Tasks: ms.InsertTasks, diff --git a/service/history/workflow/mutable_state_impl_test.go b/service/history/workflow/mutable_state_impl_test.go index a6031fc70eb..1a226b7e26a 100644 --- a/service/history/workflow/mutable_state_impl_test.go +++ b/service/history/workflow/mutable_state_impl_test.go @@ -25,9 +25,6 @@ package workflow import ( - "context" - "fmt" - "math" "testing" "time" @@ -40,9 +37,7 @@ import ( commonpb "go.temporal.io/api/common/v1" enumspb "go.temporal.io/api/enums/v1" historypb "go.temporal.io/api/history/v1" - "go.temporal.io/api/serviceerror" taskqueuepb "go.temporal.io/api/taskqueue/v1" - updatepb "go.temporal.io/api/update/v1" "go.temporal.io/server/api/clock/v1" enumsspb "go.temporal.io/server/api/enums/v1" @@ -716,7 +711,7 @@ func (s *mutableStateSuite) buildWorkflowMutableState() *persistencespb.Workflow { BranchToken: []byte("token#1"), Items: []*historyspb.VersionHistoryItem{ - {EventId: math.MaxInt64, Version: 300}, + {EventId: 1, Version: 300}, }, }, }, @@ -804,67 +799,6 @@ func (s *mutableStateSuite) buildWorkflowMutableState() *persistencespb.Workflow } } -func (s *mutableStateSuite) TestUpdateInfos() { - cacheStore := map[events.EventKey]*historypb.HistoryEvent{} - dbstate := s.buildWorkflowMutableState() - var err error - s.mutableState, err = newMutableStateFromDB( - s.mockShard, - NewMapEventCache(s.T(), cacheStore), - s.logger, - tests.LocalNamespaceEntry, - dbstate, - 123, - ) - s.NoError(err) - err = s.mutableState.UpdateCurrentVersion( - dbstate.ExecutionInfo.VersionHistories.Histories[0].Items[0].Version, false) - s.Require().NoError(err) - - acceptedUpdateID := s.T().Name() + "-accepted-update-id" - acceptedMsgID := s.T().Name() + "-accepted-msg-id" - for i := 0; i < 2; i++ { - updateID := fmt.Sprintf("%s-%d", acceptedUpdateID, i) - _, err := s.mutableState.AddWorkflowExecutionUpdateAcceptedEvent( - updateID, - &updatepb.Acceptance{ - AcceptedRequestMessageId: fmt.Sprintf("%s-%d", acceptedMsgID, i), - AcceptedRequestSequencingEventId: 1, - AcceptedRequest: &updatepb.Request{ - Meta: &updatepb.Meta{UpdateId: updateID}, - }, - }, - ) - s.Require().NoError(err) - } - completedUpdateID := s.T().Name() + "-completed-update-id" - completedOutcome := &updatepb.Outcome{ - Value: &updatepb.Outcome_Success{Success: testPayloads}, - } - _, err = s.mutableState.AddWorkflowExecutionUpdateCompletedEvent( - &updatepb.Response{ - Meta: &updatepb.Meta{UpdateId: completedUpdateID}, - Outcome: completedOutcome, - }, - ) - s.Require().NoError(err) - - // should now have one completed update and two accepted in MS - s.Require().Len(cacheStore, 3) - - outcome, err := s.mutableState.GetUpdateOutcome(context.TODO(), completedUpdateID) - s.Require().NoError(err) - s.Require().Equal(completedOutcome, outcome) - - _, err = s.mutableState.GetUpdateOutcome(context.TODO(), "not_an_update_id") - s.Require().Error(err) - s.Require().IsType((*serviceerror.NotFound)(nil), err) - - incompletes, err := s.mutableState.GetAcceptedWorkflowExecutionUpdateIDs(context.TODO()) - s.Require().NoError(err) - s.Require().Len(incompletes, 2) -} - func (s *mutableStateSuite) TestReplicateActivityTaskStartedEvent() { state := s.buildWorkflowMutableState() diff --git a/service/history/workflow/mutable_state_mock.go b/service/history/workflow/mutable_state_mock.go index dc5ff6fc8a1..ac5da3dba8d 100644 --- a/service/history/workflow/mutable_state_mock.go +++ b/service/history/workflow/mutable_state_mock.go @@ -984,21 +984,6 @@ func (mr *MockMutableStateMockRecorder) GenerateMigrationTasks() *gomock.Call { return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenerateMigrationTasks", reflect.TypeOf((*MockMutableState)(nil).GenerateMigrationTasks)) } -// GetAcceptedWorkflowExecutionUpdateIDs mocks base method. -func (m *MockMutableState) GetAcceptedWorkflowExecutionUpdateIDs(arg0 context.Context) ([]string, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetAcceptedWorkflowExecutionUpdateIDs", arg0) - ret0, _ := ret[0].([]string) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetAcceptedWorkflowExecutionUpdateIDs indicates an expected call of GetAcceptedWorkflowExecutionUpdateIDs. -func (mr *MockMutableStateMockRecorder) GetAcceptedWorkflowExecutionUpdateIDs(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAcceptedWorkflowExecutionUpdateIDs", reflect.TypeOf((*MockMutableState)(nil).GetAcceptedWorkflowExecutionUpdateIDs), arg0) -} - // GetActivityByActivityID mocks base method. func (m *MockMutableState) GetActivityByActivityID(arg0 string) (*v112.ActivityInfo, bool) { m.ctrl.T.Helper() @@ -1523,21 +1508,6 @@ func (mr *MockMutableStateMockRecorder) GetUpdateCondition() *gomock.Call { return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUpdateCondition", reflect.TypeOf((*MockMutableState)(nil).GetUpdateCondition)) } -// GetUpdateOutcome mocks base method. -func (m *MockMutableState) GetUpdateOutcome(ctx context.Context, updateID string) (*v15.Outcome, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetUpdateOutcome", ctx, updateID) - ret0, _ := ret[0].(*v15.Outcome) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetUpdateOutcome indicates an expected call of GetUpdateOutcome. -func (mr *MockMutableStateMockRecorder) GetUpdateOutcome(ctx, updateID interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUpdateOutcome", reflect.TypeOf((*MockMutableState)(nil).GetUpdateOutcome), ctx, updateID) -} - // GetUserTimerInfo mocks base method. func (m *MockMutableState) GetUserTimerInfo(arg0 string) (*v112.TimerInfo, bool) { m.ctrl.T.Helper() @@ -2384,34 +2354,6 @@ func (mr *MockMutableStateMockRecorder) ReplicateWorkflowExecutionTimedoutEvent( return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReplicateWorkflowExecutionTimedoutEvent", reflect.TypeOf((*MockMutableState)(nil).ReplicateWorkflowExecutionTimedoutEvent), arg0, arg1) } -// ReplicateWorkflowExecutionUpdateAcceptedEvent mocks base method. -func (m *MockMutableState) ReplicateWorkflowExecutionUpdateAcceptedEvent(arg0 *v13.HistoryEvent) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ReplicateWorkflowExecutionUpdateAcceptedEvent", arg0) - ret0, _ := ret[0].(error) - return ret0 -} - -// ReplicateWorkflowExecutionUpdateAcceptedEvent indicates an expected call of ReplicateWorkflowExecutionUpdateAcceptedEvent. -func (mr *MockMutableStateMockRecorder) ReplicateWorkflowExecutionUpdateAcceptedEvent(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReplicateWorkflowExecutionUpdateAcceptedEvent", reflect.TypeOf((*MockMutableState)(nil).ReplicateWorkflowExecutionUpdateAcceptedEvent), arg0) -} - -// ReplicateWorkflowExecutionUpdateCompletedEvent mocks base method. -func (m *MockMutableState) ReplicateWorkflowExecutionUpdateCompletedEvent(arg0 *v13.HistoryEvent) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ReplicateWorkflowExecutionUpdateCompletedEvent", arg0) - ret0, _ := ret[0].(error) - return ret0 -} - -// ReplicateWorkflowExecutionUpdateCompletedEvent indicates an expected call of ReplicateWorkflowExecutionUpdateCompletedEvent. -func (mr *MockMutableStateMockRecorder) ReplicateWorkflowExecutionUpdateCompletedEvent(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReplicateWorkflowExecutionUpdateCompletedEvent", reflect.TypeOf((*MockMutableState)(nil).ReplicateWorkflowExecutionUpdateCompletedEvent), arg0) -} - // ReplicateWorkflowPropertiesModifiedEvent mocks base method. func (m *MockMutableState) ReplicateWorkflowPropertiesModifiedEvent(arg0 *v13.HistoryEvent) { m.ctrl.T.Helper() diff --git a/service/history/workflow/mutable_state_rebuilder.go b/service/history/workflow/mutable_state_rebuilder.go index 319410aef18..7581b8988eb 100644 --- a/service/history/workflow/mutable_state_rebuilder.go +++ b/service/history/workflow/mutable_state_rebuilder.go @@ -674,15 +674,14 @@ func (b *MutableStateRebuilderImpl) applyEvents( return nil, err } - case enumspb.EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_REJECTED: - case enumspb.EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ACCEPTED: - if err := b.mutableState.ReplicateWorkflowExecutionUpdateAcceptedEvent(event); err != nil { - return nil, err - } - case enumspb.EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_COMPLETED: - if err := b.mutableState.ReplicateWorkflowExecutionUpdateCompletedEvent(event); err != nil { - return nil, err - } + case enumspb.EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ACCEPTED, + enumspb.EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_REJECTED, + enumspb.EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_COMPLETED: + // TODO (alex-update): Async workflow update might require update to be restored in registry from Accepted event. + // Completed event will remove it from registry and notify update result pollers. + // For now, there is nothing to modify in mutable state and there are no tasks to generate for those events. + + return nil, nil case enumspb.EVENT_TYPE_ACTIVITY_PROPERTIES_MODIFIED_EXTERNALLY, enumspb.EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED_EXTERNALLY: diff --git a/service/history/workflow/mutable_state_rebuilder_test.go b/service/history/workflow/mutable_state_rebuilder_test.go index bd345f0e8d7..bb63553dcaf 100644 --- a/service/history/workflow/mutable_state_rebuilder_test.go +++ b/service/history/workflow/mutable_state_rebuilder_test.go @@ -1789,66 +1789,16 @@ func (s *stateBuilderSuite) TestApplyEvents_EventTypeExternalWorkflowExecutionSi s.Equal(event.TaskId, s.executionInfo.LastEventTaskId) } -func (s *stateBuilderSuite) TestApplyEvents_EventTypeWorkflowExecutionUpdateAccepted() { - version := int64(1) - requestID := uuid.New() - - execution := commonpb.WorkflowExecution{ - WorkflowId: "some random workflow ID", - RunId: tests.RunID, - } - - now := time.Now().UTC() - evenType := enumspb.EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ACCEPTED - event := &historypb.HistoryEvent{ - TaskId: rand.Int63(), - Version: version, - EventId: 130, - EventTime: &now, - EventType: evenType, - Attributes: &historypb.HistoryEvent_WorkflowExecutionUpdateAcceptedEventAttributes{ - WorkflowExecutionUpdateAcceptedEventAttributes: &historypb.WorkflowExecutionUpdateAcceptedEventAttributes{ - ProtocolInstanceId: s.T().Name(), - }, - }, - } - s.mockMutableState.EXPECT().ReplicateWorkflowExecutionUpdateAcceptedEvent(event).Return(nil) - s.mockUpdateVersion(event) - s.mockMutableState.EXPECT().ClearStickyness() - - _, err := s.stateRebuilder.ApplyEvents(context.Background(), tests.NamespaceID, requestID, execution, s.toHistory(event), nil) - s.NoError(err) - s.Equal(event.TaskId, s.executionInfo.LastEventTaskId) -} - -func (s *stateBuilderSuite) TestApplyEvents_EventTypeWorkflowExecutionUpdateCompleted() { - version := int64(1) - requestID := uuid.New() - - execution := commonpb.WorkflowExecution{ - WorkflowId: "some random workflow ID", - RunId: tests.RunID, - } - - now := time.Now().UTC() - evenType := enumspb.EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_COMPLETED - event := &historypb.HistoryEvent{ - TaskId: rand.Int63(), - Version: version, - EventId: 130, - EventTime: &now, - EventType: evenType, - Attributes: &historypb.HistoryEvent_WorkflowExecutionUpdateCompletedEventAttributes{ - WorkflowExecutionUpdateCompletedEventAttributes: &historypb.WorkflowExecutionUpdateCompletedEventAttributes{}, - }, - } - s.mockMutableState.EXPECT().ReplicateWorkflowExecutionUpdateCompletedEvent(event).Return(nil) - s.mockUpdateVersion(event) - s.mockMutableState.EXPECT().ClearStickyness() - - _, err := s.stateRebuilder.ApplyEvents(context.Background(), tests.NamespaceID, requestID, execution, s.toHistory(event), nil) - s.NoError(err) - s.Equal(event.TaskId, s.executionInfo.LastEventTaskId) +func (s *stateBuilderSuite) TestApplyEventsNewEventsNotHandled() { + eventTypes := enumspb.EventType_value + s.Equal( + 47, + len(eventTypes), + "If you see this error, you are adding new event type. Before updating "+ + "the number to make this test pass, please make sure you update "+ + "`MutableStateRebuilderImpl.ApplyEvents` method to handle the new "+ + "command type. Otherwise cross dc will not work on the new event.", + ) } func (p *testTaskGeneratorProvider) NewTaskGenerator( diff --git a/service/history/workflow/test_util.go b/service/history/workflow/test_util.go index 825e0120acb..0ac878b198f 100644 --- a/service/history/workflow/test_util.go +++ b/service/history/workflow/test_util.go @@ -26,13 +26,8 @@ package workflow import ( "context" - "fmt" - "testing" "time" - "github.com/golang/mock/gomock" - historypb "go.temporal.io/api/history/v1" - "go.temporal.io/api/serviceerror" persistencespb "go.temporal.io/server/api/persistence/v1" "go.temporal.io/server/common/log" "go.temporal.io/server/common/namespace" @@ -56,38 +51,6 @@ func TestLocalMutableState( return ms } -// NewMapEventCache is a functional event cache mock that wraps a simple Go map -func NewMapEventCache( - t *testing.T, - m map[events.EventKey]*historypb.HistoryEvent, -) events.Cache { - cache := events.NewMockCache(gomock.NewController(t)) - cache.EXPECT().DeleteEvent(gomock.Any()).AnyTimes().Do( - func(k events.EventKey) { delete(m, k) }, - ) - cache.EXPECT().PutEvent(gomock.Any(), gomock.Any()).AnyTimes().Do( - func(k events.EventKey, event *historypb.HistoryEvent) { - m[k] = event - }, - ) - cache.EXPECT().GetEvent(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()). - AnyTimes(). - DoAndReturn( - func( - _ context.Context, - key events.EventKey, - _ int64, - _ []byte, - ) (*historypb.HistoryEvent, error) { - if event, ok := m[key]; ok { - return event, nil - } - return nil, serviceerror.NewNotFound(fmt.Sprintf("event %#v not found", key)) - }, - ) - return cache -} - func TestGlobalMutableState( shard shard.Context, eventsCache events.Cache,