From 2aab954968aaa936807fa61623c318e2c9afd7d0 Mon Sep 17 00:00:00 2001 From: Dan Rammer Date: Thu, 21 Dec 2023 08:16:38 -0600 Subject: [PATCH] Fixing cache overwrite metadata update (#4617) * add metadata message in idl add metadata in updateartifact request in propeller change in catalog add test Signed-off-by: Yue Shang * add tests Signed-off-by: Yue Shang * address comments Signed-off-by: Yue Shang * fixing tests and updating logging Signed-off-by: Daniel Rammer * correctly calling Update for catalog cache overwrites Signed-off-by: Daniel Rammer * fixed unit tests Signed-off-by: Daniel Rammer --------- Signed-off-by: Yue Shang Signed-off-by: Daniel Rammer Co-authored-by: Yue Shang --- .../pkg/manager/impl/artifact_manager.go | 12 + .../pkg/manager/impl/artifact_manager_test.go | 30 +- .../pkg/repositories/transformers/artifact.go | 8 + .../transformers/artifact_test.go | 6 + .../flyteidl/datacatalog/datacatalog.pb.cc | 309 +++++++----- .../flyteidl/datacatalog/datacatalog.pb.h | 61 +++ .../flyteidl/datacatalog/datacatalog.pb.go | 221 ++++----- .../datacatalog/datacatalog.pb.validate.go | 10 + .../gen/pb-java/datacatalog/Datacatalog.java | 439 ++++++++++++++---- .../flyteidl/datacatalog/datacatalog_pb2.py | 112 ++--- .../flyteidl/datacatalog/datacatalog_pb2.pyi | 6 +- flyteidl/gen/pb_rust/datacatalog.rs | 3 + .../flyteidl/datacatalog/datacatalog.proto | 3 + flytepropeller/pkg/controller/nodes/cache.go | 7 +- .../pkg/controller/nodes/cache_test.go | 1 + .../nodes/catalog/datacatalog/datacatalog.go | 1 + 16 files changed, 850 insertions(+), 379 deletions(-) diff --git a/datacatalog/pkg/manager/impl/artifact_manager.go b/datacatalog/pkg/manager/impl/artifact_manager.go index 8a05ad1c44..40f3f40538 100644 --- a/datacatalog/pkg/manager/impl/artifact_manager.go +++ b/datacatalog/pkg/manager/impl/artifact_manager.go @@ -332,6 +332,16 @@ func (m *artifactManager) UpdateArtifact(ctx context.Context, request *datacatal return nil, err } + // artifactModel needs to be updated with new SerializedMetadata + serializedMetadata, err := transformers.SerializedMetadata(request.Metadata) + if err != nil { + logger.Errorf(ctx, "Error in transforming Metadata from request %+v, err %v", request.Metadata, err) + m.systemMetrics.transformerErrorCounter.Inc(ctx) + m.systemMetrics.updateFailureCounter.Inc(ctx) + return nil, err + } + artifactModel.SerializedMetadata = serializedMetadata + artifact, err := transformers.FromArtifactModel(artifactModel) if err != nil { logger.Errorf(ctx, "Error in transforming update artifact request %+v, err %v", artifactModel, err) @@ -369,6 +379,8 @@ func (m *artifactManager) UpdateArtifact(ctx context.Context, request *datacatal // update artifact in DB, also replaces/upserts associated artifact data artifactModel.ArtifactData = artifactDataModels + logger.Debugf(ctx, "Updating ArtifactModel with %+v", artifactModel) + err = m.repo.ArtifactRepo().Update(ctx, artifactModel) if err != nil { if errors.IsDoesNotExistError(err) { diff --git a/datacatalog/pkg/manager/impl/artifact_manager_test.go b/datacatalog/pkg/manager/impl/artifact_manager_test.go index a40672550f..420c9bd4fd 100644 --- a/datacatalog/pkg/manager/impl/artifact_manager_test.go +++ b/datacatalog/pkg/manager/impl/artifact_manager_test.go @@ -7,6 +7,7 @@ import ( "os" "testing" "time" + "reflect" "github.com/golang/protobuf/proto" "github.com/golang/protobuf/ptypes" @@ -14,7 +15,7 @@ import ( "github.com/stretchr/testify/mock" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" - + "github.com/flyteorg/flyte/datacatalog/pkg/repositories/transformers" "github.com/flyteorg/flyte/datacatalog/pkg/common" "github.com/flyteorg/flyte/datacatalog/pkg/errors" repoErrors "github.com/flyteorg/flyte/datacatalog/pkg/repositories/errors" @@ -639,6 +640,12 @@ func TestUpdateArtifact(t *testing.T) { artifactKey.DatasetVersion == expectedArtifact.Dataset.Version })).Return(mockArtifactModel, nil) + metaData := &datacatalog.Metadata{ + KeyMap: map[string]string{"key2": "value2"}, + } + serializedMetadata, err := transformers.SerializedMetadata(metaData) + assert.NoError(t, err) + dcRepo.MockArtifactRepo.On("Update", mock.MatchedBy(func(ctx context.Context) bool { return true }), mock.MatchedBy(func(artifact models.Artifact) bool { @@ -646,9 +653,11 @@ func TestUpdateArtifact(t *testing.T) { artifact.ArtifactKey.DatasetProject == expectedArtifact.Dataset.Project && artifact.ArtifactKey.DatasetDomain == expectedArtifact.Dataset.Domain && artifact.ArtifactKey.DatasetName == expectedArtifact.Dataset.Name && - artifact.ArtifactKey.DatasetVersion == expectedArtifact.Dataset.Version + artifact.ArtifactKey.DatasetVersion == expectedArtifact.Dataset.Version && + reflect.DeepEqual(artifact.SerializedMetadata, serializedMetadata) })).Return(nil) + request := &datacatalog.UpdateArtifactRequest{ Dataset: expectedDataset.Id, QueryHandle: &datacatalog.UpdateArtifactRequest_ArtifactId{ @@ -664,6 +673,9 @@ func TestUpdateArtifact(t *testing.T) { Value: getTestStringLiteralWithValue("value3"), }, }, + Metadata: &datacatalog.Metadata{ + KeyMap: map[string]string{"key2": "value2"}, + }, } artifactManager := NewArtifactManager(dcRepo, datastore, testStoragePrefix, mockScope.NewTestScope()) @@ -671,6 +683,7 @@ func TestUpdateArtifact(t *testing.T) { assert.NoError(t, err) assert.NotNil(t, artifactResponse) assert.Equal(t, expectedArtifact.Id, artifactResponse.GetArtifactId()) + dcRepo.MockArtifactRepo.AssertExpectations(t) // check that the datastore has the updated artifactData available // data1 should contain updated value @@ -701,6 +714,12 @@ func TestUpdateArtifact(t *testing.T) { datastore := createInmemoryDataStore(t, mockScope.NewTestScope()) mockArtifactModel := getExpectedArtifactModel(ctx, t, datastore, expectedArtifact) + metaData := &datacatalog.Metadata{ + KeyMap: map[string]string{"key2": "value2"}, + } + serializedMetadata, err := transformers.SerializedMetadata(metaData) + assert.NoError(t, err) + dcRepo := newMockDataCatalogRepo() dcRepo.MockArtifactRepo.On("Update", mock.MatchedBy(func(ctx context.Context) bool { return true }), @@ -709,7 +728,8 @@ func TestUpdateArtifact(t *testing.T) { artifact.ArtifactKey.DatasetProject == expectedArtifact.Dataset.Project && artifact.ArtifactKey.DatasetDomain == expectedArtifact.Dataset.Domain && artifact.ArtifactKey.DatasetName == expectedArtifact.Dataset.Name && - artifact.ArtifactKey.DatasetVersion == expectedArtifact.Dataset.Version + artifact.ArtifactKey.DatasetVersion == expectedArtifact.Dataset.Version && + reflect.DeepEqual(artifact.SerializedMetadata, serializedMetadata) })).Return(nil) dcRepo.MockTagRepo.On("Get", mock.Anything, @@ -747,6 +767,9 @@ func TestUpdateArtifact(t *testing.T) { Value: getTestStringLiteralWithValue("value3"), }, }, + Metadata: &datacatalog.Metadata{ + KeyMap: map[string]string{"key2": "value2"}, + }, } artifactManager := NewArtifactManager(dcRepo, datastore, testStoragePrefix, mockScope.NewTestScope()) @@ -754,6 +777,7 @@ func TestUpdateArtifact(t *testing.T) { assert.NoError(t, err) assert.NotNil(t, artifactResponse) assert.Equal(t, expectedArtifact.Id, artifactResponse.GetArtifactId()) + dcRepo.MockArtifactRepo.AssertExpectations(t) // check that the datastore has the updated artifactData available // data1 should contain updated value diff --git a/datacatalog/pkg/repositories/transformers/artifact.go b/datacatalog/pkg/repositories/transformers/artifact.go index 52eba4b8bd..57890ef4b1 100644 --- a/datacatalog/pkg/repositories/transformers/artifact.go +++ b/datacatalog/pkg/repositories/transformers/artifact.go @@ -9,6 +9,14 @@ import ( "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/datacatalog" ) +func SerializedMetadata(metadata *datacatalog.Metadata) ([]byte, error) { + serializedMetadata, err := marshalMetadata(metadata) + if err != nil { + return []byte{}, err + } + return serializedMetadata, nil +} + func CreateArtifactModel(request *datacatalog.CreateArtifactRequest, artifactData []models.ArtifactData, dataset models.Dataset) (models.Artifact, error) { datasetID := request.Artifact.Dataset diff --git a/datacatalog/pkg/repositories/transformers/artifact_test.go b/datacatalog/pkg/repositories/transformers/artifact_test.go index 633ec9175a..350a2396aa 100644 --- a/datacatalog/pkg/repositories/transformers/artifact_test.go +++ b/datacatalog/pkg/repositories/transformers/artifact_test.go @@ -12,6 +12,12 @@ import ( "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/datacatalog" ) +func TestSerializedMetadata(t *testing.T) { + serializedMetadata, err := SerializedMetadata(metadata) + assert.IsType(t, []byte{}, serializedMetadata) + assert.NoError(t, err) +} + func getTestArtifactData() []*datacatalog.ArtifactData { testInteger := &core.Literal{ Value: &core.Literal_Scalar{ diff --git a/flyteidl/gen/pb-cpp/flyteidl/datacatalog/datacatalog.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/datacatalog/datacatalog.pb.cc index 4188d31f95..7c60a37e4e 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/datacatalog/datacatalog.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/datacatalog/datacatalog.pb.cc @@ -427,10 +427,11 @@ static void InitDefaultsUpdateArtifactRequest_flyteidl_2fdatacatalog_2fdatacatal ::datacatalog::UpdateArtifactRequest::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<2> scc_info_UpdateArtifactRequest_flyteidl_2fdatacatalog_2fdatacatalog_2eproto = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsUpdateArtifactRequest_flyteidl_2fdatacatalog_2fdatacatalog_2eproto}, { +::google::protobuf::internal::SCCInfo<3> scc_info_UpdateArtifactRequest_flyteidl_2fdatacatalog_2fdatacatalog_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsUpdateArtifactRequest_flyteidl_2fdatacatalog_2fdatacatalog_2eproto}, { &scc_info_DatasetID_flyteidl_2fdatacatalog_2fdatacatalog_2eproto.base, - &scc_info_ArtifactData_flyteidl_2fdatacatalog_2fdatacatalog_2eproto.base,}}; + &scc_info_ArtifactData_flyteidl_2fdatacatalog_2fdatacatalog_2eproto.base, + &scc_info_Metadata_flyteidl_2fdatacatalog_2fdatacatalog_2eproto.base,}}; static void InitDefaultsUpdateArtifactResponse_flyteidl_2fdatacatalog_2fdatacatalog_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -923,6 +924,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fdatacatalog_2fdatacatalo offsetof(::datacatalog::UpdateArtifactRequestDefaultTypeInternal, artifact_id_), offsetof(::datacatalog::UpdateArtifactRequestDefaultTypeInternal, tag_name_), PROTOBUF_FIELD_OFFSET(::datacatalog::UpdateArtifactRequest, data_), + PROTOBUF_FIELD_OFFSET(::datacatalog::UpdateArtifactRequest, metadata_), PROTOBUF_FIELD_OFFSET(::datacatalog::UpdateArtifactRequest, query_handle_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::datacatalog::UpdateArtifactResponse, _internal_metadata_), @@ -1121,29 +1123,29 @@ static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SE { 75, -1, sizeof(::datacatalog::ListDatasetsRequest)}, { 82, -1, sizeof(::datacatalog::ListDatasetsResponse)}, { 89, -1, sizeof(::datacatalog::UpdateArtifactRequest)}, - { 99, -1, sizeof(::datacatalog::UpdateArtifactResponse)}, - { 105, -1, sizeof(::datacatalog::ReservationID)}, - { 112, -1, sizeof(::datacatalog::GetOrExtendReservationRequest)}, - { 120, -1, sizeof(::datacatalog::Reservation)}, - { 130, -1, sizeof(::datacatalog::GetOrExtendReservationResponse)}, - { 136, -1, sizeof(::datacatalog::ReleaseReservationRequest)}, - { 143, -1, sizeof(::datacatalog::ReleaseReservationResponse)}, - { 148, -1, sizeof(::datacatalog::Dataset)}, - { 156, -1, sizeof(::datacatalog::Partition)}, - { 163, -1, sizeof(::datacatalog::DatasetID)}, - { 173, -1, sizeof(::datacatalog::Artifact)}, - { 185, -1, sizeof(::datacatalog::ArtifactData)}, - { 192, -1, sizeof(::datacatalog::Tag)}, - { 200, 207, sizeof(::datacatalog::Metadata_KeyMapEntry_DoNotUse)}, - { 209, -1, sizeof(::datacatalog::Metadata)}, - { 215, -1, sizeof(::datacatalog::FilterExpression)}, - { 221, -1, sizeof(::datacatalog::SinglePropertyFilter)}, - { 232, -1, sizeof(::datacatalog::ArtifactPropertyFilter)}, - { 239, -1, sizeof(::datacatalog::TagPropertyFilter)}, - { 246, -1, sizeof(::datacatalog::PartitionPropertyFilter)}, - { 253, -1, sizeof(::datacatalog::KeyValuePair)}, - { 260, -1, sizeof(::datacatalog::DatasetPropertyFilter)}, - { 270, -1, sizeof(::datacatalog::PaginationOptions)}, + { 100, -1, sizeof(::datacatalog::UpdateArtifactResponse)}, + { 106, -1, sizeof(::datacatalog::ReservationID)}, + { 113, -1, sizeof(::datacatalog::GetOrExtendReservationRequest)}, + { 121, -1, sizeof(::datacatalog::Reservation)}, + { 131, -1, sizeof(::datacatalog::GetOrExtendReservationResponse)}, + { 137, -1, sizeof(::datacatalog::ReleaseReservationRequest)}, + { 144, -1, sizeof(::datacatalog::ReleaseReservationResponse)}, + { 149, -1, sizeof(::datacatalog::Dataset)}, + { 157, -1, sizeof(::datacatalog::Partition)}, + { 164, -1, sizeof(::datacatalog::DatasetID)}, + { 174, -1, sizeof(::datacatalog::Artifact)}, + { 186, -1, sizeof(::datacatalog::ArtifactData)}, + { 193, -1, sizeof(::datacatalog::Tag)}, + { 201, 208, sizeof(::datacatalog::Metadata_KeyMapEntry_DoNotUse)}, + { 210, -1, sizeof(::datacatalog::Metadata)}, + { 216, -1, sizeof(::datacatalog::FilterExpression)}, + { 222, -1, sizeof(::datacatalog::SinglePropertyFilter)}, + { 233, -1, sizeof(::datacatalog::ArtifactPropertyFilter)}, + { 240, -1, sizeof(::datacatalog::TagPropertyFilter)}, + { 247, -1, sizeof(::datacatalog::PartitionPropertyFilter)}, + { 254, -1, sizeof(::datacatalog::KeyValuePair)}, + { 261, -1, sizeof(::datacatalog::DatasetPropertyFilter)}, + { 271, -1, sizeof(::datacatalog::PaginationOptions)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -1223,104 +1225,105 @@ const char descriptor_table_protodef_flyteidl_2fdatacatalog_2fdatacatalog_2eprot "\002 \001(\0132\036.datacatalog.PaginationOptions\"R\n" "\024ListDatasetsResponse\022&\n\010datasets\030\001 \003(\0132" "\024.datacatalog.Dataset\022\022\n\nnext_token\030\002 \001(" - "\t\"\244\001\n\025UpdateArtifactRequest\022\'\n\007dataset\030\001" + "\t\"\315\001\n\025UpdateArtifactRequest\022\'\n\007dataset\030\001" " \001(\0132\026.datacatalog.DatasetID\022\025\n\013artifact" "_id\030\002 \001(\tH\000\022\022\n\010tag_name\030\003 \001(\tH\000\022\'\n\004data\030" - "\004 \003(\0132\031.datacatalog.ArtifactDataB\016\n\014quer" - "y_handle\"-\n\026UpdateArtifactResponse\022\023\n\013ar" - "tifact_id\030\001 \001(\t\"M\n\rReservationID\022*\n\ndata" - "set_id\030\001 \001(\0132\026.datacatalog.DatasetID\022\020\n\010" - "tag_name\030\002 \001(\t\"\234\001\n\035GetOrExtendReservatio" - "nRequest\0222\n\016reservation_id\030\001 \001(\0132\032.datac" - "atalog.ReservationID\022\020\n\010owner_id\030\002 \001(\t\0225" - "\n\022heartbeat_interval\030\003 \001(\0132\031.google.prot" - "obuf.Duration\"\343\001\n\013Reservation\0222\n\016reserva" - "tion_id\030\001 \001(\0132\032.datacatalog.ReservationI" - "D\022\020\n\010owner_id\030\002 \001(\t\0225\n\022heartbeat_interva" - "l\030\003 \001(\0132\031.google.protobuf.Duration\022.\n\nex" - "pires_at\030\004 \001(\0132\032.google.protobuf.Timesta" - "mp\022\'\n\010metadata\030\006 \001(\0132\025.datacatalog.Metad" - "ata\"O\n\036GetOrExtendReservationResponse\022-\n" - "\013reservation\030\001 \001(\0132\030.datacatalog.Reserva" - "tion\"a\n\031ReleaseReservationRequest\0222\n\016res" - "ervation_id\030\001 \001(\0132\032.datacatalog.Reservat" - "ionID\022\020\n\010owner_id\030\002 \001(\t\"\034\n\032ReleaseReserv" - "ationResponse\"m\n\007Dataset\022\"\n\002id\030\001 \001(\0132\026.d" - "atacatalog.DatasetID\022\'\n\010metadata\030\002 \001(\0132\025" - ".datacatalog.Metadata\022\025\n\rpartitionKeys\030\003" - " \003(\t\"\'\n\tPartition\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030" - "\002 \001(\t\"Y\n\tDatasetID\022\017\n\007project\030\001 \001(\t\022\014\n\004n" - "ame\030\002 \001(\t\022\016\n\006domain\030\003 \001(\t\022\017\n\007version\030\004 \001" - "(\t\022\014\n\004UUID\030\005 \001(\t\"\215\002\n\010Artifact\022\n\n\002id\030\001 \001(" - "\t\022\'\n\007dataset\030\002 \001(\0132\026.datacatalog.Dataset" - "ID\022\'\n\004data\030\003 \003(\0132\031.datacatalog.ArtifactD" - "ata\022\'\n\010metadata\030\004 \001(\0132\025.datacatalog.Meta" - "data\022*\n\npartitions\030\005 \003(\0132\026.datacatalog.P" - "artition\022\036\n\004tags\030\006 \003(\0132\020.datacatalog.Tag" - "\022.\n\ncreated_at\030\007 \001(\0132\032.google.protobuf.T" - "imestamp\"C\n\014ArtifactData\022\014\n\004name\030\001 \001(\t\022%" - "\n\005value\030\002 \001(\0132\026.flyteidl.core.Literal\"Q\n" - "\003Tag\022\014\n\004name\030\001 \001(\t\022\023\n\013artifact_id\030\002 \001(\t\022" - "\'\n\007dataset\030\003 \001(\0132\026.datacatalog.DatasetID" - "\"m\n\010Metadata\0222\n\007key_map\030\001 \003(\0132!.datacata" - "log.Metadata.KeyMapEntry\032-\n\013KeyMapEntry\022" - "\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"F\n\020Filte" - "rExpression\0222\n\007filters\030\001 \003(\0132!.datacatal" - "og.SinglePropertyFilter\"\211\003\n\024SingleProper" - "tyFilter\0224\n\ntag_filter\030\001 \001(\0132\036.datacatal" - "og.TagPropertyFilterH\000\022@\n\020partition_filt" - "er\030\002 \001(\0132$.datacatalog.PartitionProperty" - "FilterH\000\022>\n\017artifact_filter\030\003 \001(\0132#.data" - "catalog.ArtifactPropertyFilterH\000\022<\n\016data" - "set_filter\030\004 \001(\0132\".datacatalog.DatasetPr" - "opertyFilterH\000\022F\n\010operator\030\n \001(\01624.datac" - "atalog.SinglePropertyFilter.ComparisonOp" - "erator\" \n\022ComparisonOperator\022\n\n\006EQUALS\020\000" - "B\021\n\017property_filter\";\n\026ArtifactPropertyF" - "ilter\022\025\n\013artifact_id\030\001 \001(\tH\000B\n\n\010property" - "\"3\n\021TagPropertyFilter\022\022\n\010tag_name\030\001 \001(\tH" - "\000B\n\n\010property\"S\n\027PartitionPropertyFilter" - "\022,\n\007key_val\030\001 \001(\0132\031.datacatalog.KeyValue" - "PairH\000B\n\n\010property\"*\n\014KeyValuePair\022\013\n\003ke" - "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"k\n\025DatasetPropert" - "yFilter\022\021\n\007project\030\001 \001(\tH\000\022\016\n\004name\030\002 \001(\t" - "H\000\022\020\n\006domain\030\003 \001(\tH\000\022\021\n\007version\030\004 \001(\tH\000B" - "\n\n\010property\"\361\001\n\021PaginationOptions\022\r\n\005lim" - "it\030\001 \001(\r\022\r\n\005token\030\002 \001(\t\0227\n\007sortKey\030\003 \001(\016" - "2&.datacatalog.PaginationOptions.SortKey" - "\022;\n\tsortOrder\030\004 \001(\0162(.datacatalog.Pagina" - "tionOptions.SortOrder\"*\n\tSortOrder\022\016\n\nDE" - "SCENDING\020\000\022\r\n\tASCENDING\020\001\"\034\n\007SortKey\022\021\n\r" - "CREATION_TIME\020\0002\206\007\n\013DataCatalog\022V\n\rCreat" - "eDataset\022!.datacatalog.CreateDatasetRequ" - "est\032\".datacatalog.CreateDatasetResponse\022" - "M\n\nGetDataset\022\036.datacatalog.GetDatasetRe" - "quest\032\037.datacatalog.GetDatasetResponse\022Y" - "\n\016CreateArtifact\022\".datacatalog.CreateArt" - "ifactRequest\032#.datacatalog.CreateArtifac" - "tResponse\022P\n\013GetArtifact\022\037.datacatalog.G" - "etArtifactRequest\032 .datacatalog.GetArtif" - "actResponse\022A\n\006AddTag\022\032.datacatalog.AddT" - "agRequest\032\033.datacatalog.AddTagResponse\022V" - "\n\rListArtifacts\022!.datacatalog.ListArtifa" - "ctsRequest\032\".datacatalog.ListArtifactsRe" - "sponse\022S\n\014ListDatasets\022 .datacatalog.Lis" - "tDatasetsRequest\032!.datacatalog.ListDatas" - "etsResponse\022Y\n\016UpdateArtifact\022\".datacata" - "log.UpdateArtifactRequest\032#.datacatalog." - "UpdateArtifactResponse\022q\n\026GetOrExtendRes" - "ervation\022*.datacatalog.GetOrExtendReserv" - "ationRequest\032+.datacatalog.GetOrExtendRe" - "servationResponse\022e\n\022ReleaseReservation\022" - "&.datacatalog.ReleaseReservationRequest\032" - "\'.datacatalog.ReleaseReservationResponse" - "BCZAgithub.com/flyteorg/flyte/flyteidl/g" - "en/pb-go/flyteidl/datacatalogb\006proto3" + "\004 \003(\0132\031.datacatalog.ArtifactData\022\'\n\010meta" + "data\030\005 \001(\0132\025.datacatalog.MetadataB\016\n\014que" + "ry_handle\"-\n\026UpdateArtifactResponse\022\023\n\013a" + "rtifact_id\030\001 \001(\t\"M\n\rReservationID\022*\n\ndat" + "aset_id\030\001 \001(\0132\026.datacatalog.DatasetID\022\020\n" + "\010tag_name\030\002 \001(\t\"\234\001\n\035GetOrExtendReservati" + "onRequest\0222\n\016reservation_id\030\001 \001(\0132\032.data" + "catalog.ReservationID\022\020\n\010owner_id\030\002 \001(\t\022" + "5\n\022heartbeat_interval\030\003 \001(\0132\031.google.pro" + "tobuf.Duration\"\343\001\n\013Reservation\0222\n\016reserv" + "ation_id\030\001 \001(\0132\032.datacatalog.Reservation" + "ID\022\020\n\010owner_id\030\002 \001(\t\0225\n\022heartbeat_interv" + "al\030\003 \001(\0132\031.google.protobuf.Duration\022.\n\ne" + "xpires_at\030\004 \001(\0132\032.google.protobuf.Timest" + "amp\022\'\n\010metadata\030\006 \001(\0132\025.datacatalog.Meta" + "data\"O\n\036GetOrExtendReservationResponse\022-" + "\n\013reservation\030\001 \001(\0132\030.datacatalog.Reserv" + "ation\"a\n\031ReleaseReservationRequest\0222\n\016re" + "servation_id\030\001 \001(\0132\032.datacatalog.Reserva" + "tionID\022\020\n\010owner_id\030\002 \001(\t\"\034\n\032ReleaseReser" + "vationResponse\"m\n\007Dataset\022\"\n\002id\030\001 \001(\0132\026." + "datacatalog.DatasetID\022\'\n\010metadata\030\002 \001(\0132" + "\025.datacatalog.Metadata\022\025\n\rpartitionKeys\030" + "\003 \003(\t\"\'\n\tPartition\022\013\n\003key\030\001 \001(\t\022\r\n\005value" + "\030\002 \001(\t\"Y\n\tDatasetID\022\017\n\007project\030\001 \001(\t\022\014\n\004" + "name\030\002 \001(\t\022\016\n\006domain\030\003 \001(\t\022\017\n\007version\030\004 " + "\001(\t\022\014\n\004UUID\030\005 \001(\t\"\215\002\n\010Artifact\022\n\n\002id\030\001 \001" + "(\t\022\'\n\007dataset\030\002 \001(\0132\026.datacatalog.Datase" + "tID\022\'\n\004data\030\003 \003(\0132\031.datacatalog.Artifact" + "Data\022\'\n\010metadata\030\004 \001(\0132\025.datacatalog.Met" + "adata\022*\n\npartitions\030\005 \003(\0132\026.datacatalog." + "Partition\022\036\n\004tags\030\006 \003(\0132\020.datacatalog.Ta" + "g\022.\n\ncreated_at\030\007 \001(\0132\032.google.protobuf." + "Timestamp\"C\n\014ArtifactData\022\014\n\004name\030\001 \001(\t\022" + "%\n\005value\030\002 \001(\0132\026.flyteidl.core.Literal\"Q" + "\n\003Tag\022\014\n\004name\030\001 \001(\t\022\023\n\013artifact_id\030\002 \001(\t" + "\022\'\n\007dataset\030\003 \001(\0132\026.datacatalog.DatasetI" + "D\"m\n\010Metadata\0222\n\007key_map\030\001 \003(\0132!.datacat" + "alog.Metadata.KeyMapEntry\032-\n\013KeyMapEntry" + "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"F\n\020Filt" + "erExpression\0222\n\007filters\030\001 \003(\0132!.datacata" + "log.SinglePropertyFilter\"\211\003\n\024SinglePrope" + "rtyFilter\0224\n\ntag_filter\030\001 \001(\0132\036.datacata" + "log.TagPropertyFilterH\000\022@\n\020partition_fil" + "ter\030\002 \001(\0132$.datacatalog.PartitionPropert" + "yFilterH\000\022>\n\017artifact_filter\030\003 \001(\0132#.dat" + "acatalog.ArtifactPropertyFilterH\000\022<\n\016dat" + "aset_filter\030\004 \001(\0132\".datacatalog.DatasetP" + "ropertyFilterH\000\022F\n\010operator\030\n \001(\01624.data" + "catalog.SinglePropertyFilter.ComparisonO" + "perator\" \n\022ComparisonOperator\022\n\n\006EQUALS\020" + "\000B\021\n\017property_filter\";\n\026ArtifactProperty" + "Filter\022\025\n\013artifact_id\030\001 \001(\tH\000B\n\n\010propert" + "y\"3\n\021TagPropertyFilter\022\022\n\010tag_name\030\001 \001(\t" + "H\000B\n\n\010property\"S\n\027PartitionPropertyFilte" + "r\022,\n\007key_val\030\001 \001(\0132\031.datacatalog.KeyValu" + "ePairH\000B\n\n\010property\"*\n\014KeyValuePair\022\013\n\003k" + "ey\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"k\n\025DatasetProper" + "tyFilter\022\021\n\007project\030\001 \001(\tH\000\022\016\n\004name\030\002 \001(" + "\tH\000\022\020\n\006domain\030\003 \001(\tH\000\022\021\n\007version\030\004 \001(\tH\000" + "B\n\n\010property\"\361\001\n\021PaginationOptions\022\r\n\005li" + "mit\030\001 \001(\r\022\r\n\005token\030\002 \001(\t\0227\n\007sortKey\030\003 \001(" + "\0162&.datacatalog.PaginationOptions.SortKe" + "y\022;\n\tsortOrder\030\004 \001(\0162(.datacatalog.Pagin" + "ationOptions.SortOrder\"*\n\tSortOrder\022\016\n\nD" + "ESCENDING\020\000\022\r\n\tASCENDING\020\001\"\034\n\007SortKey\022\021\n" + "\rCREATION_TIME\020\0002\206\007\n\013DataCatalog\022V\n\rCrea" + "teDataset\022!.datacatalog.CreateDatasetReq" + "uest\032\".datacatalog.CreateDatasetResponse" + "\022M\n\nGetDataset\022\036.datacatalog.GetDatasetR" + "equest\032\037.datacatalog.GetDatasetResponse\022" + "Y\n\016CreateArtifact\022\".datacatalog.CreateAr" + "tifactRequest\032#.datacatalog.CreateArtifa" + "ctResponse\022P\n\013GetArtifact\022\037.datacatalog." + "GetArtifactRequest\032 .datacatalog.GetArti" + "factResponse\022A\n\006AddTag\022\032.datacatalog.Add" + "TagRequest\032\033.datacatalog.AddTagResponse\022" + "V\n\rListArtifacts\022!.datacatalog.ListArtif" + "actsRequest\032\".datacatalog.ListArtifactsR" + "esponse\022S\n\014ListDatasets\022 .datacatalog.Li" + "stDatasetsRequest\032!.datacatalog.ListData" + "setsResponse\022Y\n\016UpdateArtifact\022\".datacat" + "alog.UpdateArtifactRequest\032#.datacatalog" + ".UpdateArtifactResponse\022q\n\026GetOrExtendRe" + "servation\022*.datacatalog.GetOrExtendReser" + "vationRequest\032+.datacatalog.GetOrExtendR" + "eservationResponse\022e\n\022ReleaseReservation" + "\022&.datacatalog.ReleaseReservationRequest" + "\032\'.datacatalog.ReleaseReservationRespons" + "eBCZAgithub.com/flyteorg/flyte/flyteidl/" + "gen/pb-go/flyteidl/datacatalogb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fdatacatalog_2fdatacatalog_2eproto = { false, InitDefaults_flyteidl_2fdatacatalog_2fdatacatalog_2eproto, descriptor_table_protodef_flyteidl_2fdatacatalog_2fdatacatalog_2eproto, - "flyteidl/datacatalog/datacatalog.proto", &assign_descriptors_table_flyteidl_2fdatacatalog_2fdatacatalog_2eproto, 4877, + "flyteidl/datacatalog/datacatalog.proto", &assign_descriptors_table_flyteidl_2fdatacatalog_2fdatacatalog_2eproto, 4918, }; void AddDescriptors_flyteidl_2fdatacatalog_2fdatacatalog_2eproto() { @@ -5717,21 +5720,29 @@ void UpdateArtifactRequest::InitAsDefaultInstance() { &::google::protobuf::internal::GetEmptyStringAlreadyInited()); ::datacatalog::_UpdateArtifactRequest_default_instance_.tag_name_.UnsafeSetDefault( &::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::datacatalog::_UpdateArtifactRequest_default_instance_._instance.get_mutable()->metadata_ = const_cast< ::datacatalog::Metadata*>( + ::datacatalog::Metadata::internal_default_instance()); } class UpdateArtifactRequest::HasBitSetters { public: static const ::datacatalog::DatasetID& dataset(const UpdateArtifactRequest* msg); + static const ::datacatalog::Metadata& metadata(const UpdateArtifactRequest* msg); }; const ::datacatalog::DatasetID& UpdateArtifactRequest::HasBitSetters::dataset(const UpdateArtifactRequest* msg) { return *msg->dataset_; } +const ::datacatalog::Metadata& +UpdateArtifactRequest::HasBitSetters::metadata(const UpdateArtifactRequest* msg) { + return *msg->metadata_; +} #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int UpdateArtifactRequest::kDatasetFieldNumber; const int UpdateArtifactRequest::kArtifactIdFieldNumber; const int UpdateArtifactRequest::kTagNameFieldNumber; const int UpdateArtifactRequest::kDataFieldNumber; +const int UpdateArtifactRequest::kMetadataFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 UpdateArtifactRequest::UpdateArtifactRequest() @@ -5749,6 +5760,11 @@ UpdateArtifactRequest::UpdateArtifactRequest(const UpdateArtifactRequest& from) } else { dataset_ = nullptr; } + if (from.has_metadata()) { + metadata_ = new ::datacatalog::Metadata(*from.metadata_); + } else { + metadata_ = nullptr; + } clear_has_query_handle(); switch (from.query_handle_case()) { case kArtifactId: { @@ -5769,7 +5785,9 @@ UpdateArtifactRequest::UpdateArtifactRequest(const UpdateArtifactRequest& from) void UpdateArtifactRequest::SharedCtor() { ::google::protobuf::internal::InitSCC( &scc_info_UpdateArtifactRequest_flyteidl_2fdatacatalog_2fdatacatalog_2eproto.base); - dataset_ = nullptr; + ::memset(&dataset_, 0, static_cast( + reinterpret_cast(&metadata_) - + reinterpret_cast(&dataset_)) + sizeof(metadata_)); clear_has_query_handle(); } @@ -5780,6 +5798,7 @@ UpdateArtifactRequest::~UpdateArtifactRequest() { void UpdateArtifactRequest::SharedDtor() { if (this != internal_default_instance()) delete dataset_; + if (this != internal_default_instance()) delete metadata_; if (has_query_handle()) { clear_query_handle(); } @@ -5824,6 +5843,10 @@ void UpdateArtifactRequest::Clear() { delete dataset_; } dataset_ = nullptr; + if (GetArenaNoVirtual() == nullptr && metadata_ != nullptr) { + delete metadata_; + } + metadata_ = nullptr; clear_query_handle(); _internal_metadata_.Clear(); } @@ -5902,6 +5925,19 @@ const char* UpdateArtifactRequest::_InternalParse(const char* begin, const char* } while ((::google::protobuf::io::UnalignedLoad<::google::protobuf::uint64>(ptr) & 255) == 34 && (ptr += 1)); break; } + // .datacatalog.Metadata metadata = 5; + case 5: { + if (static_cast<::google::protobuf::uint8>(tag) != 42) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::datacatalog::Metadata::_InternalParse; + object = msg->mutable_metadata(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -5988,6 +6024,17 @@ bool UpdateArtifactRequest::MergePartialFromCodedStream( break; } + // .datacatalog.Metadata metadata = 5; + case 5: { + if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_metadata())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -6050,6 +6097,12 @@ void UpdateArtifactRequest::SerializeWithCachedSizes( output); } + // .datacatalog.Metadata metadata = 5; + if (this->has_metadata()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 5, HasBitSetters::metadata(this), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -6100,6 +6153,13 @@ ::google::protobuf::uint8* UpdateArtifactRequest::InternalSerializeWithCachedSiz 4, this->data(static_cast(i)), target); } + // .datacatalog.Metadata metadata = 5; + if (this->has_metadata()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 5, HasBitSetters::metadata(this), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -6139,6 +6199,13 @@ size_t UpdateArtifactRequest::ByteSizeLong() const { *dataset_); } + // .datacatalog.Metadata metadata = 5; + if (this->has_metadata()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *metadata_); + } + switch (query_handle_case()) { // string artifact_id = 2; case kArtifactId: { @@ -6189,6 +6256,9 @@ void UpdateArtifactRequest::MergeFrom(const UpdateArtifactRequest& from) { if (from.has_dataset()) { mutable_dataset()->::datacatalog::DatasetID::MergeFrom(from.dataset()); } + if (from.has_metadata()) { + mutable_metadata()->::datacatalog::Metadata::MergeFrom(from.metadata()); + } switch (from.query_handle_case()) { case kArtifactId: { set_artifact_id(from.artifact_id()); @@ -6231,6 +6301,7 @@ void UpdateArtifactRequest::InternalSwap(UpdateArtifactRequest* other) { _internal_metadata_.Swap(&other->_internal_metadata_); CastToBase(&data_)->InternalSwap(CastToBase(&other->data_)); swap(dataset_, other->dataset_); + swap(metadata_, other->metadata_); swap(query_handle_, other->query_handle_); swap(_oneof_case_[0], other->_oneof_case_[0]); } diff --git a/flyteidl/gen/pb-cpp/flyteidl/datacatalog/datacatalog.pb.h b/flyteidl/gen/pb-cpp/flyteidl/datacatalog/datacatalog.pb.h index ac8b5c69c8..da52d149e1 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/datacatalog/datacatalog.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/datacatalog/datacatalog.pb.h @@ -2100,6 +2100,15 @@ class UpdateArtifactRequest final : ::datacatalog::DatasetID* mutable_dataset(); void set_allocated_dataset(::datacatalog::DatasetID* dataset); + // .datacatalog.Metadata metadata = 5; + bool has_metadata() const; + void clear_metadata(); + static const int kMetadataFieldNumber = 5; + const ::datacatalog::Metadata& metadata() const; + ::datacatalog::Metadata* release_metadata(); + ::datacatalog::Metadata* mutable_metadata(); + void set_allocated_metadata(::datacatalog::Metadata* metadata); + // string artifact_id = 2; private: bool has_artifact_id() const; @@ -2148,6 +2157,7 @@ class UpdateArtifactRequest final : ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::RepeatedPtrField< ::datacatalog::ArtifactData > data_; ::datacatalog::DatasetID* dataset_; + ::datacatalog::Metadata* metadata_; union QueryHandleUnion { QueryHandleUnion() {} ::google::protobuf::internal::ArenaStringPtr artifact_id_; @@ -6683,6 +6693,57 @@ UpdateArtifactRequest::data() const { return data_; } +// .datacatalog.Metadata metadata = 5; +inline bool UpdateArtifactRequest::has_metadata() const { + return this != internal_default_instance() && metadata_ != nullptr; +} +inline void UpdateArtifactRequest::clear_metadata() { + if (GetArenaNoVirtual() == nullptr && metadata_ != nullptr) { + delete metadata_; + } + metadata_ = nullptr; +} +inline const ::datacatalog::Metadata& UpdateArtifactRequest::metadata() const { + const ::datacatalog::Metadata* p = metadata_; + // @@protoc_insertion_point(field_get:datacatalog.UpdateArtifactRequest.metadata) + return p != nullptr ? *p : *reinterpret_cast( + &::datacatalog::_Metadata_default_instance_); +} +inline ::datacatalog::Metadata* UpdateArtifactRequest::release_metadata() { + // @@protoc_insertion_point(field_release:datacatalog.UpdateArtifactRequest.metadata) + + ::datacatalog::Metadata* temp = metadata_; + metadata_ = nullptr; + return temp; +} +inline ::datacatalog::Metadata* UpdateArtifactRequest::mutable_metadata() { + + if (metadata_ == nullptr) { + auto* p = CreateMaybeMessage<::datacatalog::Metadata>(GetArenaNoVirtual()); + metadata_ = p; + } + // @@protoc_insertion_point(field_mutable:datacatalog.UpdateArtifactRequest.metadata) + return metadata_; +} +inline void UpdateArtifactRequest::set_allocated_metadata(::datacatalog::Metadata* metadata) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete metadata_; + } + if (metadata) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + metadata = ::google::protobuf::internal::GetOwnedMessage( + message_arena, metadata, submessage_arena); + } + + } else { + + } + metadata_ = metadata; + // @@protoc_insertion_point(field_set_allocated:datacatalog.UpdateArtifactRequest.metadata) +} + inline bool UpdateArtifactRequest::has_query_handle() const { return query_handle_case() != QUERY_HANDLE_NOT_SET; } diff --git a/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go b/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go index 73dcf41c4b..54aca9cd58 100644 --- a/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go @@ -759,10 +759,12 @@ type UpdateArtifactRequest struct { QueryHandle isUpdateArtifactRequest_QueryHandle `protobuf_oneof:"query_handle"` // List of data to overwrite stored artifact data with. Must contain ALL data for updated Artifact as any missing // ArtifactData entries will be removed from the underlying blob storage and database. - Data []*ArtifactData `protobuf:"bytes,4,rep,name=data,proto3" json:"data,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Data []*ArtifactData `protobuf:"bytes,4,rep,name=data,proto3" json:"data,omitempty"` + // Update task execution metadata when overwriting cache + Metadata *Metadata `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *UpdateArtifactRequest) Reset() { *m = UpdateArtifactRequest{} } @@ -841,6 +843,13 @@ func (m *UpdateArtifactRequest) GetData() []*ArtifactData { return nil } +func (m *UpdateArtifactRequest) GetMetadata() *Metadata { + if m != nil { + return m.Metadata + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*UpdateArtifactRequest) XXX_OneofWrappers() []interface{} { return []interface{}{ @@ -2251,112 +2260,112 @@ func init() { } var fileDescriptor_275951237ff4368a = []byte{ - // 1669 bytes of a gzipped FileDescriptorProto + // 1675 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x4b, 0x6f, 0xdb, 0xc6, 0x13, 0x37, 0x25, 0x47, 0x32, 0x47, 0x96, 0x22, 0x6f, 0x6c, 0x47, 0x56, 0x12, 0x5b, 0x61, 0x02, 0xff, 0x8d, 0xfc, 0x1b, 0x29, 0xb5, 0x93, 0xa0, 0x49, 0x8b, 0xb6, 0xb2, 0xa5, 0xd8, 0xaa, 0xe3, 0x47, 0xe8, 0x07, 0xd0, 0x07, 0x20, 0xac, 0xcd, 0x35, 0xc3, 0x9a, 0x12, 0x19, 0x72, 0x9d, 0x5a, - 0xa7, 0xa2, 0x97, 0x1e, 0xda, 0xde, 0x0a, 0xf4, 0x0b, 0xf4, 0x83, 0xf4, 0x98, 0x9e, 0xfa, 0x99, - 0x8a, 0x25, 0x77, 0x29, 0x92, 0xa2, 0x6c, 0xc5, 0x87, 0x00, 0xbd, 0x10, 0xdc, 0xdd, 0x99, 0xdf, - 0xce, 0x63, 0x67, 0x67, 0x66, 0x61, 0xf1, 0xc4, 0xec, 0x51, 0x62, 0x68, 0x66, 0x4d, 0xc3, 0x14, - 0x1f, 0x63, 0x8a, 0x4d, 0x4b, 0x0f, 0xff, 0x57, 0x6d, 0xc7, 0xa2, 0x16, 0xca, 0x85, 0xa6, 0xca, - 0xb7, 0x03, 0xa6, 0x63, 0xcb, 0x21, 0x35, 0xd3, 0xa0, 0xc4, 0xc1, 0xa6, 0xeb, 0x93, 0x96, 0xe7, - 0x75, 0xcb, 0xd2, 0x4d, 0x52, 0xf3, 0x46, 0x47, 0x67, 0x27, 0x35, 0xed, 0xcc, 0xc1, 0xd4, 0xb0, - 0xba, 0x7c, 0x7d, 0x21, 0xbe, 0x4e, 0x8d, 0x0e, 0x71, 0x29, 0xee, 0xd8, 0x3e, 0x81, 0xf2, 0x02, - 0xa6, 0xd7, 0x1c, 0x82, 0x29, 0x69, 0x60, 0x8a, 0x5d, 0x42, 0x55, 0xf2, 0xe6, 0x8c, 0xb8, 0x14, - 0x55, 0x21, 0xab, 0xf9, 0x33, 0x25, 0xa9, 0x22, 0x2d, 0xe5, 0x96, 0xa7, 0xab, 0x61, 0x41, 0x05, - 0xb5, 0x20, 0x52, 0x6e, 0xc2, 0x4c, 0x0c, 0xc7, 0xb5, 0xad, 0xae, 0x4b, 0x94, 0x26, 0x4c, 0xad, - 0x13, 0x1a, 0x43, 0x7f, 0x14, 0x47, 0x9f, 0x4d, 0x42, 0x6f, 0x35, 0xfa, 0xf8, 0x0d, 0x40, 0x61, - 0x18, 0x1f, 0xfc, 0xbd, 0xa5, 0xfc, 0x43, 0xf2, 0x60, 0xea, 0x0e, 0x35, 0x4e, 0xf0, 0xf1, 0xd5, - 0xc5, 0x41, 0x77, 0x21, 0x87, 0x39, 0x48, 0xdb, 0xd0, 0x4a, 0xa9, 0x8a, 0xb4, 0x24, 0x6f, 0x8c, - 0xa9, 0x20, 0x26, 0x5b, 0x1a, 0xba, 0x05, 0x13, 0x14, 0xeb, 0xed, 0x2e, 0xee, 0x90, 0x52, 0x9a, - 0xaf, 0x67, 0x29, 0xd6, 0xb7, 0x71, 0x87, 0xac, 0x16, 0x60, 0xf2, 0xcd, 0x19, 0x71, 0x7a, 0xed, - 0xd7, 0xb8, 0xab, 0x99, 0x44, 0xd9, 0x80, 0x1b, 0x11, 0xb9, 0xb8, 0x7e, 0x1f, 0xc3, 0x84, 0x40, - 0xe4, 0x92, 0xcd, 0x44, 0x24, 0x0b, 0x18, 0x02, 0x32, 0xe5, 0x2b, 0xe1, 0x88, 0xb8, 0x92, 0x57, - 0xc0, 0x2a, 0xc1, 0x6c, 0x1c, 0x8b, 0x7b, 0x75, 0x05, 0xf2, 0x75, 0x4d, 0xdb, 0xc7, 0xba, 0x40, - 0x57, 0x20, 0x4d, 0xb1, 0xce, 0x81, 0x8b, 0x11, 0x60, 0x46, 0xc5, 0x16, 0x95, 0x22, 0x14, 0x04, - 0x13, 0x87, 0xf9, 0x4b, 0x82, 0xe9, 0x97, 0x86, 0x1b, 0x28, 0xee, 0x5e, 0xdd, 0x23, 0x4f, 0x20, - 0x73, 0x62, 0x98, 0x94, 0x38, 0x9e, 0x33, 0x72, 0xcb, 0x77, 0x22, 0x0c, 0x2f, 0xbc, 0xa5, 0xe6, - 0xb9, 0xed, 0x10, 0xd7, 0x35, 0xac, 0xae, 0xca, 0x89, 0xd1, 0xe7, 0x00, 0x36, 0xd6, 0x8d, 0xae, - 0x17, 0x34, 0x9e, 0x9f, 0x72, 0xcb, 0xf3, 0x11, 0xd6, 0xdd, 0x60, 0x79, 0xc7, 0x66, 0x5f, 0x57, - 0x0d, 0x71, 0x28, 0xa7, 0x30, 0x13, 0x53, 0x80, 0xbb, 0x6e, 0x05, 0x64, 0x61, 0x47, 0xb7, 0x24, - 0x55, 0xd2, 0xc3, 0xed, 0xdd, 0xa7, 0x43, 0x77, 0x00, 0xba, 0xe4, 0x9c, 0xb6, 0xa9, 0x75, 0x4a, - 0xba, 0xfe, 0xa9, 0x52, 0x65, 0x36, 0xb3, 0xcf, 0x26, 0x94, 0xdf, 0x24, 0xb8, 0xc1, 0x76, 0xe3, - 0xea, 0x07, 0xd6, 0xea, 0xeb, 0x2e, 0x5d, 0x5d, 0xf7, 0xd4, 0x7b, 0xeb, 0xae, 0xfb, 0xce, 0xeb, - 0x4b, 0xc3, 0x55, 0x7f, 0x04, 0x13, 0xdc, 0x2b, 0x42, 0xf3, 0xe4, 0xb0, 0x0c, 0xa8, 0x2e, 0xd3, - 0xfb, 0x6f, 0x09, 0x66, 0x0e, 0x6c, 0x2d, 0xe1, 0x50, 0x7f, 0xf0, 0xc8, 0x45, 0x0f, 0x61, 0x9c, - 0x41, 0x95, 0xc6, 0x3d, 0xc5, 0xe6, 0x12, 0x5d, 0xca, 0xb6, 0x55, 0x3d, 0xb2, 0x81, 0x40, 0x7f, - 0x06, 0xb3, 0x71, 0x4d, 0xb8, 0xd5, 0x16, 0xa2, 0x82, 0x49, 0x9e, 0x11, 0x42, 0x62, 0x29, 0x18, - 0xf2, 0x2a, 0x71, 0x89, 0xf3, 0xd6, 0xb3, 0x7e, 0xab, 0x81, 0x9e, 0x00, 0x70, 0xad, 0x04, 0xc3, - 0x70, 0xfd, 0x65, 0x4e, 0xd9, 0xd2, 0xd0, 0x5c, 0x48, 0x3d, 0xdf, 0xd4, 0x42, 0x39, 0xe5, 0x9d, - 0x04, 0x77, 0xd6, 0x09, 0xdd, 0x71, 0x9a, 0xe7, 0x94, 0x74, 0xb5, 0xd0, 0x76, 0xc2, 0xe0, 0x75, - 0x28, 0x38, 0xfd, 0xd9, 0xfe, 0xbe, 0xe5, 0xc8, 0xbe, 0x11, 0x39, 0xd5, 0x7c, 0x88, 0xc3, 0xdf, - 0xdf, 0xfa, 0xa1, 0x4b, 0x9c, 0xc0, 0xfc, 0x6a, 0xd6, 0x1b, 0xb7, 0x34, 0xb4, 0x01, 0xe8, 0x35, - 0xc1, 0x0e, 0x3d, 0x22, 0x98, 0xb6, 0x8d, 0x2e, 0x65, 0x5c, 0x26, 0x8f, 0xca, 0xb9, 0xaa, 0x9f, - 0xcb, 0xaa, 0x22, 0x97, 0x55, 0x1b, 0x3c, 0xd7, 0xa9, 0x53, 0x01, 0x53, 0x8b, 0xf3, 0x28, 0x7f, - 0xa6, 0x20, 0x17, 0x92, 0xe2, 0xbf, 0x22, 0x37, 0x7a, 0x06, 0x40, 0xce, 0x6d, 0xc3, 0x21, 0x6e, - 0x1b, 0xd3, 0xd2, 0x38, 0x97, 0x31, 0x8e, 0xb0, 0x2f, 0xb2, 0xb8, 0x2a, 0x73, 0xea, 0xba, 0x77, - 0xc1, 0x77, 0x08, 0xc5, 0xde, 0xe9, 0xcc, 0x24, 0x5c, 0xf0, 0x5b, 0x7c, 0x51, 0x0d, 0xc8, 0x94, - 0xef, 0x60, 0x7e, 0x98, 0xbb, 0xf9, 0xa9, 0x7c, 0x0e, 0xb9, 0x90, 0x15, 0xb8, 0xd1, 0x4a, 0xc3, - 0x8c, 0xa6, 0x86, 0x89, 0x95, 0x1e, 0xcc, 0xa9, 0xc4, 0x24, 0xd8, 0x25, 0x1f, 0xfa, 0x20, 0x29, - 0xb7, 0xa1, 0x9c, 0xb4, 0x35, 0x4f, 0x3b, 0xbf, 0x48, 0x90, 0xe5, 0xa1, 0x81, 0x16, 0x21, 0x75, - 0x69, 0xf0, 0xa4, 0x0c, 0x2d, 0x62, 0xdd, 0xd4, 0x48, 0xd6, 0x45, 0xf7, 0x21, 0x6f, 0xb3, 0xf8, - 0x65, 0x7b, 0x6f, 0x92, 0x9e, 0x5b, 0x4a, 0x57, 0xd2, 0x4b, 0xb2, 0x1a, 0x9d, 0x54, 0x56, 0x40, - 0xde, 0x15, 0x13, 0xa8, 0x08, 0xe9, 0x53, 0xd2, 0xe3, 0xc1, 0xcf, 0x7e, 0xd1, 0x34, 0x5c, 0x7b, - 0x8b, 0xcd, 0x33, 0x11, 0xaa, 0xfe, 0x40, 0xf9, 0x11, 0xe4, 0x40, 0x3c, 0x54, 0x82, 0xac, 0xed, - 0x58, 0xdf, 0x13, 0x9e, 0xd8, 0x65, 0x55, 0x0c, 0x11, 0x82, 0xf1, 0x50, 0x98, 0x7b, 0xff, 0x68, - 0x16, 0x32, 0x9a, 0xd5, 0xc1, 0x86, 0x9f, 0xed, 0x64, 0x95, 0x8f, 0x18, 0xca, 0x5b, 0xe2, 0xb0, - 0x04, 0xe1, 0x1d, 0x3b, 0x59, 0x15, 0x43, 0x86, 0x72, 0x70, 0xd0, 0x6a, 0x94, 0xae, 0xf9, 0x28, - 0xec, 0x5f, 0x79, 0x97, 0x82, 0x09, 0x71, 0x85, 0xa1, 0x42, 0x60, 0x43, 0xd9, 0xb3, 0x55, 0xe8, - 0x56, 0x4e, 0x8d, 0x76, 0x2b, 0x8b, 0x5b, 0x35, 0x3d, 0xd2, 0xad, 0x1a, 0x71, 0xc6, 0xf8, 0x68, - 0xce, 0x78, 0xca, 0x92, 0x1d, 0x37, 0xb3, 0x5b, 0xba, 0xe6, 0xed, 0x33, 0x1b, 0x4b, 0x76, 0x7c, - 0x59, 0x0d, 0x51, 0xa2, 0xfb, 0x30, 0x4e, 0xb1, 0xee, 0x96, 0x32, 0x1e, 0xc7, 0x60, 0x65, 0xe3, - 0xad, 0xb2, 0xb0, 0x3d, 0xf6, 0x2a, 0x25, 0x8d, 0x85, 0x6d, 0xf6, 0xf2, 0xb0, 0xe5, 0xd4, 0x75, - 0xaa, 0xec, 0xc2, 0x64, 0x58, 0xc3, 0xc0, 0x67, 0x52, 0xc8, 0x67, 0x1f, 0x85, 0x0f, 0x01, 0x93, - 0x5b, 0x34, 0x05, 0x55, 0xd6, 0x14, 0x54, 0x5f, 0xfa, 0x4d, 0x81, 0x38, 0x1c, 0x26, 0xa4, 0xf7, - 0xb1, 0x9e, 0x08, 0xb4, 0x90, 0x90, 0xfd, 0x22, 0xb9, 0x2f, 0xe4, 0xba, 0xf4, 0x68, 0x95, 0xf9, - 0x4f, 0x12, 0x4c, 0x08, 0x7b, 0xa3, 0xe7, 0x90, 0x3d, 0x25, 0xbd, 0x76, 0x07, 0xdb, 0x3c, 0xf3, - 0xdf, 0x4d, 0xf4, 0x4b, 0x75, 0x93, 0xf4, 0xb6, 0xb0, 0xdd, 0xec, 0x52, 0xa7, 0xa7, 0x66, 0x4e, - 0xbd, 0x41, 0xf9, 0x19, 0xe4, 0x42, 0xd3, 0xa3, 0x86, 0xc2, 0xf3, 0xd4, 0x27, 0x92, 0xb2, 0x03, - 0xc5, 0x78, 0x95, 0x83, 0x3e, 0x85, 0xac, 0x5f, 0xe7, 0xb8, 0x89, 0xa2, 0xec, 0x19, 0x5d, 0xdd, - 0x24, 0xbb, 0x8e, 0x65, 0x13, 0x87, 0xf6, 0x7c, 0x6e, 0x55, 0x70, 0x28, 0xff, 0xa4, 0x61, 0x3a, - 0x89, 0x02, 0x7d, 0x01, 0xc0, 0x92, 0x67, 0xa4, 0xdc, 0x9a, 0x8f, 0x1f, 0x8a, 0x28, 0xcf, 0xc6, - 0x98, 0x2a, 0x53, 0xac, 0x73, 0x80, 0x57, 0x50, 0x0c, 0x4e, 0x57, 0x3b, 0x52, 0xb1, 0xde, 0x4f, - 0x3e, 0x8d, 0x03, 0x60, 0xd7, 0x03, 0x7e, 0x0e, 0xb9, 0x0d, 0xd7, 0x03, 0xa7, 0x72, 0x44, 0xdf, - 0x77, 0xf7, 0x12, 0xe3, 0x68, 0x00, 0xb0, 0x20, 0xb8, 0x39, 0xde, 0x26, 0x14, 0x44, 0x5d, 0xc1, - 0xe1, 0xfc, 0x18, 0x53, 0x92, 0x8e, 0xc2, 0x00, 0x5a, 0x9e, 0xf3, 0x72, 0xb0, 0x5d, 0x98, 0x60, - 0x04, 0x98, 0x5a, 0x4e, 0x09, 0x2a, 0xd2, 0x52, 0x61, 0xf9, 0xf1, 0xa5, 0x7e, 0xa8, 0xae, 0x59, - 0x1d, 0x1b, 0x3b, 0x86, 0xcb, 0xea, 0x4e, 0x9f, 0x57, 0x0d, 0x50, 0x94, 0x0a, 0xa0, 0xc1, 0x75, - 0x04, 0x90, 0x69, 0xbe, 0x3a, 0xa8, 0xbf, 0xdc, 0x2b, 0x8e, 0xad, 0x4e, 0xc1, 0x75, 0x9b, 0x03, - 0x72, 0x0d, 0x94, 0x75, 0x98, 0x4d, 0xd6, 0x3f, 0x5e, 0x10, 0x4a, 0x83, 0x05, 0xe1, 0x2a, 0xc0, - 0x84, 0xc0, 0x53, 0x3e, 0x83, 0xa9, 0x01, 0x0f, 0x47, 0x2a, 0x46, 0x29, 0xde, 0xeb, 0x85, 0xb9, - 0xbf, 0x85, 0x9b, 0x43, 0x1c, 0x8b, 0x1e, 0xfb, 0xa1, 0xc3, 0x0a, 0x07, 0x89, 0x17, 0x0e, 0x61, - 0x3b, 0x6d, 0x92, 0xde, 0x21, 0x3b, 0xef, 0xbb, 0xd8, 0x60, 0x56, 0x66, 0x41, 0x73, 0x88, 0xcd, - 0x08, 0xf8, 0x53, 0x98, 0x0c, 0x53, 0x8d, 0x9c, 0x4c, 0x7e, 0x95, 0x60, 0x26, 0xd1, 0x9b, 0xa8, - 0x1c, 0xcb, 0x2c, 0x4c, 0x2d, 0x91, 0x5b, 0xa6, 0xc3, 0xb9, 0x65, 0x63, 0x8c, 0x5f, 0x30, 0xa5, - 0x68, 0x76, 0x61, 0x92, 0xf2, 0xfc, 0x52, 0x8e, 0xe5, 0x17, 0x86, 0xc5, 0x27, 0x22, 0x5a, 0xfc, - 0x9e, 0x82, 0xa9, 0x81, 0xbe, 0x83, 0x49, 0x6e, 0x1a, 0x1d, 0xc3, 0x97, 0x23, 0xaf, 0xfa, 0x03, - 0x36, 0x1b, 0x6e, 0x19, 0xfc, 0x01, 0xfa, 0x12, 0xb2, 0xae, 0xe5, 0xd0, 0x4d, 0xd2, 0xf3, 0x84, - 0x28, 0x2c, 0x2f, 0x5e, 0xdc, 0xd4, 0x54, 0xf7, 0x7c, 0x6a, 0x55, 0xb0, 0xa1, 0x17, 0x20, 0xb3, - 0xdf, 0x1d, 0x47, 0xe3, 0x87, 0xbf, 0xb0, 0xbc, 0x34, 0x02, 0x86, 0x47, 0xaf, 0xf6, 0x59, 0x95, - 0x07, 0x20, 0x07, 0xf3, 0xa8, 0x00, 0xd0, 0x68, 0xee, 0xad, 0x35, 0xb7, 0x1b, 0xad, 0xed, 0xf5, - 0xe2, 0x18, 0xca, 0x83, 0x5c, 0x0f, 0x86, 0x92, 0x72, 0x1b, 0xb2, 0x5c, 0x0e, 0x34, 0x05, 0xf9, - 0x35, 0xb5, 0x59, 0xdf, 0x6f, 0xed, 0x6c, 0xb7, 0xf7, 0x5b, 0x5b, 0xcd, 0xe2, 0xd8, 0xf2, 0xcf, - 0x59, 0xc8, 0x31, 0x1f, 0xad, 0xf9, 0x02, 0xa0, 0x43, 0xc8, 0x47, 0xde, 0x5b, 0x50, 0xf4, 0x76, - 0x4b, 0x7a, 0xd3, 0x29, 0x2b, 0x17, 0x91, 0xf0, 0x7a, 0x6f, 0x0b, 0xa0, 0xff, 0xce, 0x82, 0xa2, - 0x37, 0xdb, 0xc0, 0x3b, 0x4e, 0x79, 0x61, 0xe8, 0x3a, 0x87, 0xfb, 0x1a, 0x0a, 0xd1, 0x17, 0x04, - 0x94, 0x24, 0x44, 0xac, 0xab, 0x2b, 0xdf, 0xbb, 0x90, 0x86, 0x43, 0xef, 0x42, 0x2e, 0xf4, 0x64, - 0x82, 0x06, 0x44, 0x89, 0x83, 0x56, 0x86, 0x13, 0x70, 0xc4, 0x3a, 0x64, 0xfc, 0xf7, 0x09, 0x14, - 0x2d, 0x42, 0x23, 0x2f, 0x1d, 0xe5, 0x5b, 0x89, 0x6b, 0x1c, 0xe2, 0x10, 0xf2, 0x91, 0xe7, 0x80, - 0x98, 0x5b, 0x92, 0xde, 0x3a, 0x62, 0x6e, 0x49, 0x7e, 0x4d, 0xd8, 0x83, 0xc9, 0x70, 0xab, 0x8d, - 0x2a, 0x03, 0x3c, 0xb1, 0x37, 0x81, 0xf2, 0xdd, 0x0b, 0x28, 0xfa, 0xce, 0x89, 0xf6, 0xa2, 0x31, - 0xe7, 0x24, 0xb6, 0xdc, 0x31, 0xe7, 0x0c, 0x69, 0x66, 0xdf, 0xc0, 0x6c, 0x72, 0x63, 0x81, 0x1e, - 0xc4, 0xdd, 0x30, 0xbc, 0xd9, 0x2c, 0xff, 0x7f, 0x24, 0x5a, 0xbe, 0x25, 0x01, 0x34, 0x58, 0xf2, - 0xa3, 0xc5, 0x58, 0x3b, 0x31, 0xa4, 0x1d, 0x29, 0xff, 0xef, 0x52, 0x3a, 0x7f, 0x9b, 0xd5, 0xb5, - 0x6f, 0xea, 0xba, 0x41, 0x5f, 0x9f, 0x1d, 0x55, 0x8f, 0xad, 0x4e, 0xcd, 0xab, 0xc3, 0x2c, 0x47, - 0xf7, 0x7f, 0x6a, 0xc1, 0x5b, 0xad, 0x4e, 0xba, 0x35, 0xfb, 0xe8, 0xa1, 0x6e, 0xd5, 0x92, 0xde, - 0x7c, 0x8f, 0x32, 0x5e, 0x49, 0xb8, 0xf2, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5f, 0x40, 0x9c, - 0xe8, 0x12, 0x16, 0x00, 0x00, + 0xa7, 0xa2, 0x97, 0x1e, 0xda, 0xde, 0x0a, 0xf4, 0x0b, 0xf4, 0x83, 0xf4, 0x98, 0x5b, 0xbf, 0x50, + 0x2f, 0xc5, 0x92, 0xbb, 0x14, 0x49, 0x51, 0xb6, 0xe2, 0x43, 0x80, 0x5e, 0x08, 0xee, 0xee, 0xcc, + 0x6f, 0xe7, 0xb1, 0xb3, 0x33, 0xb3, 0xb0, 0x78, 0x62, 0xf6, 0x28, 0x31, 0x34, 0xb3, 0xa6, 0x61, + 0x8a, 0x8f, 0x31, 0xc5, 0xa6, 0xa5, 0x87, 0xff, 0xab, 0xb6, 0x63, 0x51, 0x0b, 0xe5, 0x42, 0x53, + 0xe5, 0xdb, 0x01, 0xd3, 0xb1, 0xe5, 0x90, 0x9a, 0x69, 0x50, 0xe2, 0x60, 0xd3, 0xf5, 0x49, 0xcb, + 0xf3, 0xba, 0x65, 0xe9, 0x26, 0xa9, 0x79, 0xa3, 0xa3, 0xb3, 0x93, 0x9a, 0x76, 0xe6, 0x60, 0x6a, + 0x58, 0x5d, 0xbe, 0xbe, 0x10, 0x5f, 0xa7, 0x46, 0x87, 0xb8, 0x14, 0x77, 0x6c, 0x9f, 0x40, 0x79, + 0x01, 0xd3, 0x6b, 0x0e, 0xc1, 0x94, 0x34, 0x30, 0xc5, 0x2e, 0xa1, 0x2a, 0x79, 0x73, 0x46, 0x5c, + 0x8a, 0xaa, 0x90, 0xd5, 0xfc, 0x99, 0x92, 0x54, 0x91, 0x96, 0x72, 0xcb, 0xd3, 0xd5, 0xb0, 0xa0, + 0x82, 0x5a, 0x10, 0x29, 0x37, 0x61, 0x26, 0x86, 0xe3, 0xda, 0x56, 0xd7, 0x25, 0x4a, 0x13, 0xa6, + 0xd6, 0x09, 0x8d, 0xa1, 0x3f, 0x8a, 0xa3, 0xcf, 0x26, 0xa1, 0xb7, 0x1a, 0x7d, 0xfc, 0x06, 0xa0, + 0x30, 0x8c, 0x0f, 0xfe, 0xde, 0x52, 0xfe, 0x21, 0x79, 0x30, 0x75, 0x87, 0x1a, 0x27, 0xf8, 0xf8, + 0xea, 0xe2, 0xa0, 0xbb, 0x90, 0xc3, 0x1c, 0xa4, 0x6d, 0x68, 0xa5, 0x54, 0x45, 0x5a, 0x92, 0x37, + 0xc6, 0x54, 0x10, 0x93, 0x2d, 0x0d, 0xdd, 0x82, 0x09, 0x8a, 0xf5, 0x76, 0x17, 0x77, 0x48, 0x29, + 0xcd, 0xd7, 0xb3, 0x14, 0xeb, 0xdb, 0xb8, 0x43, 0x56, 0x0b, 0x30, 0xf9, 0xe6, 0x8c, 0x38, 0xbd, + 0xf6, 0x6b, 0xdc, 0xd5, 0x4c, 0xa2, 0x6c, 0xc0, 0x8d, 0x88, 0x5c, 0x5c, 0xbf, 0x8f, 0x61, 0x42, + 0x20, 0x72, 0xc9, 0x66, 0x22, 0x92, 0x05, 0x0c, 0x01, 0x99, 0xf2, 0x95, 0x70, 0x44, 0x5c, 0xc9, + 0x2b, 0x60, 0x95, 0x60, 0x36, 0x8e, 0xc5, 0xbd, 0xba, 0x02, 0xf9, 0xba, 0xa6, 0xed, 0x63, 0x5d, + 0xa0, 0x2b, 0x90, 0xa6, 0x58, 0xe7, 0xc0, 0xc5, 0x08, 0x30, 0xa3, 0x62, 0x8b, 0x4a, 0x11, 0x0a, + 0x82, 0x89, 0xc3, 0xfc, 0x25, 0xc1, 0xf4, 0x4b, 0xc3, 0x0d, 0x14, 0x77, 0xaf, 0xee, 0x91, 0x27, + 0x90, 0x39, 0x31, 0x4c, 0x4a, 0x1c, 0xcf, 0x19, 0xb9, 0xe5, 0x3b, 0x11, 0x86, 0x17, 0xde, 0x52, + 0xf3, 0xdc, 0x76, 0x88, 0xeb, 0x1a, 0x56, 0x57, 0xe5, 0xc4, 0xe8, 0x73, 0x00, 0x1b, 0xeb, 0x46, + 0xd7, 0x0b, 0x1a, 0xcf, 0x4f, 0xb9, 0xe5, 0xf9, 0x08, 0xeb, 0x6e, 0xb0, 0xbc, 0x63, 0xb3, 0xaf, + 0xab, 0x86, 0x38, 0x94, 0x53, 0x98, 0x89, 0x29, 0xc0, 0x5d, 0xb7, 0x02, 0xb2, 0xb0, 0xa3, 0x5b, + 0x92, 0x2a, 0xe9, 0xe1, 0xf6, 0xee, 0xd3, 0xa1, 0x3b, 0x00, 0x5d, 0x72, 0x4e, 0xdb, 0xd4, 0x3a, + 0x25, 0x5d, 0xff, 0x54, 0xa9, 0x32, 0x9b, 0xd9, 0x67, 0x13, 0xca, 0x6f, 0x12, 0xdc, 0x60, 0xbb, + 0x71, 0xf5, 0x03, 0x6b, 0xf5, 0x75, 0x97, 0xae, 0xae, 0x7b, 0xea, 0xbd, 0x75, 0xd7, 0x7d, 0xe7, + 0xf5, 0xa5, 0xe1, 0xaa, 0x3f, 0x82, 0x09, 0xee, 0x15, 0xa1, 0x79, 0x72, 0x58, 0x06, 0x54, 0x97, + 0xe9, 0xfd, 0x8f, 0x04, 0x33, 0x07, 0xb6, 0x96, 0x70, 0xa8, 0x3f, 0x78, 0xe4, 0xa2, 0x87, 0x30, + 0xce, 0xa0, 0x4a, 0xe3, 0x9e, 0x62, 0x73, 0x89, 0x2e, 0x65, 0xdb, 0xaa, 0x1e, 0x19, 0x8b, 0xba, + 0x0e, 0xa1, 0xd8, 0x63, 0xb9, 0x96, 0x10, 0x75, 0x5b, 0x7c, 0x51, 0x0d, 0xc8, 0x06, 0xee, 0x86, + 0x67, 0x30, 0x1b, 0x57, 0x9e, 0x1b, 0x7a, 0x21, 0xaa, 0x8b, 0xe4, 0xd9, 0x2d, 0xa4, 0x89, 0x82, + 0x21, 0xaf, 0x12, 0x97, 0x38, 0x6f, 0x3d, 0x87, 0xb5, 0x1a, 0xe8, 0x09, 0x00, 0x37, 0x84, 0x60, + 0x18, 0x6e, 0x32, 0x99, 0x53, 0xb6, 0x34, 0x34, 0x17, 0xb2, 0x88, 0xef, 0x1d, 0x61, 0x0f, 0xe5, + 0x9d, 0x04, 0x77, 0xd6, 0x09, 0xdd, 0x71, 0x9a, 0xe7, 0x94, 0x74, 0xb5, 0xd0, 0x76, 0xc2, 0x47, + 0x75, 0x28, 0x38, 0xfd, 0xd9, 0xfe, 0xbe, 0xe5, 0xc8, 0xbe, 0x11, 0x39, 0xd5, 0x7c, 0x88, 0xc3, + 0xdf, 0xdf, 0xfa, 0xa1, 0x4b, 0x9c, 0xc0, 0x63, 0x6a, 0xd6, 0x1b, 0xb7, 0x34, 0xb4, 0x01, 0xe8, + 0x35, 0xc1, 0x0e, 0x3d, 0x22, 0x98, 0xb6, 0x8d, 0x2e, 0x65, 0x5c, 0x26, 0x0f, 0xe4, 0xb9, 0xaa, + 0x9f, 0xfe, 0xaa, 0x22, 0xfd, 0x55, 0x1b, 0x3c, 0x3d, 0xaa, 0x53, 0x01, 0x53, 0x8b, 0xf3, 0x28, + 0x7f, 0xa6, 0x20, 0x17, 0x92, 0xe2, 0xbf, 0x22, 0x37, 0x7a, 0x06, 0x40, 0xce, 0x6d, 0xc3, 0x21, + 0x6e, 0x1b, 0xd3, 0xd2, 0x38, 0x97, 0x31, 0x8e, 0xb0, 0x2f, 0x12, 0xbf, 0x2a, 0x73, 0xea, 0x3a, + 0x8d, 0x9c, 0xce, 0xcc, 0x48, 0xa7, 0x53, 0xf9, 0x0e, 0xe6, 0x87, 0xb9, 0x9b, 0x9f, 0xca, 0xe7, + 0x90, 0x0b, 0x59, 0x81, 0x1b, 0xad, 0x34, 0xcc, 0x68, 0x6a, 0x98, 0x58, 0xe9, 0xc1, 0x9c, 0x4a, + 0x4c, 0x82, 0x5d, 0xf2, 0xa1, 0x0f, 0x92, 0x72, 0x1b, 0xca, 0x49, 0x5b, 0xf3, 0x4c, 0xf5, 0x8b, + 0x04, 0x59, 0x1e, 0x1a, 0x68, 0x11, 0x52, 0x97, 0x06, 0x4f, 0xca, 0xd0, 0x22, 0xd6, 0x4d, 0x8d, + 0x64, 0x5d, 0x74, 0x1f, 0xf2, 0x36, 0x8b, 0x5f, 0xb6, 0xf7, 0x26, 0xe9, 0xb9, 0xa5, 0x74, 0x25, + 0xbd, 0x24, 0xab, 0xd1, 0x49, 0x65, 0x05, 0xe4, 0x5d, 0x31, 0x81, 0x8a, 0x90, 0x3e, 0x25, 0x3d, + 0x1e, 0xfc, 0xec, 0x17, 0x4d, 0xc3, 0xb5, 0xb7, 0xd8, 0x3c, 0x13, 0xa1, 0xea, 0x0f, 0x94, 0x1f, + 0x41, 0x0e, 0xc4, 0x43, 0x25, 0xc8, 0xda, 0x8e, 0xf5, 0x3d, 0xe1, 0xb5, 0x80, 0xac, 0x8a, 0x21, + 0x42, 0x30, 0x1e, 0x0a, 0x73, 0xef, 0x1f, 0xcd, 0x42, 0x46, 0xb3, 0x3a, 0xd8, 0xf0, 0x13, 0xa4, + 0xac, 0xf2, 0x11, 0x43, 0x79, 0x4b, 0x1c, 0x96, 0x53, 0xbc, 0x63, 0x27, 0xab, 0x62, 0xc8, 0x50, + 0x0e, 0x0e, 0x5a, 0x0d, 0xef, 0xca, 0x93, 0x55, 0xef, 0x5f, 0x79, 0x97, 0x82, 0x09, 0x71, 0x85, + 0xa1, 0x42, 0x60, 0x43, 0xd9, 0xb3, 0x55, 0xe8, 0x22, 0x4f, 0x8d, 0x76, 0x91, 0x8b, 0x8b, 0x38, + 0xfd, 0xfe, 0x17, 0xf1, 0xf8, 0x68, 0xce, 0x78, 0xca, 0xf2, 0x23, 0x37, 0xb3, 0x5b, 0xba, 0xe6, + 0xed, 0x33, 0x1b, 0xcb, 0x8f, 0x7c, 0x59, 0x0d, 0x51, 0xa2, 0xfb, 0x30, 0x4e, 0xb1, 0xee, 0x96, + 0x32, 0x1e, 0xc7, 0x60, 0x31, 0xe4, 0xad, 0xb2, 0xb0, 0x3d, 0xf6, 0x8a, 0x2b, 0x8d, 0x85, 0x6d, + 0xf6, 0xf2, 0xb0, 0xe5, 0xd4, 0x75, 0xaa, 0xec, 0xc2, 0x64, 0x58, 0xc3, 0xc0, 0x67, 0x52, 0xc8, + 0x67, 0x1f, 0x85, 0x0f, 0x01, 0x93, 0x5b, 0xf4, 0x11, 0x55, 0xd6, 0x47, 0x54, 0x5f, 0xfa, 0x7d, + 0x84, 0x38, 0x1c, 0x26, 0xa4, 0xf7, 0xb1, 0x9e, 0x08, 0xb4, 0x90, 0x90, 0x30, 0x23, 0xe9, 0x32, + 0xe4, 0xba, 0xf4, 0x68, 0xc5, 0xfc, 0x4f, 0x12, 0x4c, 0x08, 0x7b, 0xa3, 0xe7, 0x90, 0x3d, 0x25, + 0xbd, 0x76, 0x07, 0xdb, 0xbc, 0x58, 0xb8, 0x9b, 0xe8, 0x97, 0xea, 0x26, 0xe9, 0x6d, 0x61, 0xbb, + 0xd9, 0xa5, 0x4e, 0x4f, 0xcd, 0x9c, 0x7a, 0x83, 0xf2, 0x33, 0xc8, 0x85, 0xa6, 0x47, 0x0d, 0x85, + 0xe7, 0xa9, 0x4f, 0x24, 0x65, 0x07, 0x8a, 0xf1, 0xc2, 0x08, 0x7d, 0x0a, 0x59, 0xbf, 0x34, 0x72, + 0x13, 0x45, 0xd9, 0x33, 0xba, 0xba, 0x49, 0x76, 0x1d, 0xcb, 0x26, 0x0e, 0xed, 0xf9, 0xdc, 0xaa, + 0xe0, 0x50, 0xfe, 0x4e, 0xc3, 0x74, 0x12, 0x05, 0xfa, 0x02, 0x80, 0x25, 0xcf, 0x48, 0x85, 0x36, + 0x1f, 0x3f, 0x14, 0x51, 0x9e, 0x8d, 0x31, 0x55, 0xa6, 0x58, 0xe7, 0x00, 0xaf, 0xa0, 0x18, 0x9c, + 0xae, 0x76, 0xa4, 0xc8, 0xbd, 0x9f, 0x7c, 0x1a, 0x07, 0xc0, 0xae, 0x07, 0xfc, 0x1c, 0x72, 0x1b, + 0xae, 0x07, 0x4e, 0xe5, 0x88, 0xbe, 0xef, 0xee, 0x25, 0xc6, 0xd1, 0x00, 0x60, 0x41, 0x70, 0x73, + 0xbc, 0x4d, 0x28, 0x88, 0xba, 0x82, 0xc3, 0xf9, 0x31, 0xa6, 0x24, 0x1d, 0x85, 0x01, 0xb4, 0x3c, + 0xe7, 0xe5, 0x60, 0xbb, 0x30, 0xc1, 0x08, 0x30, 0xb5, 0x9c, 0x12, 0x54, 0xa4, 0xa5, 0xc2, 0xf2, + 0xe3, 0x4b, 0xfd, 0x50, 0x5d, 0xb3, 0x3a, 0x36, 0x76, 0x0c, 0x97, 0x95, 0xaa, 0x3e, 0xaf, 0x1a, + 0xa0, 0x28, 0x15, 0x40, 0x83, 0xeb, 0x08, 0x20, 0xd3, 0x7c, 0x75, 0x50, 0x7f, 0xb9, 0x57, 0x1c, + 0x5b, 0x9d, 0x82, 0xeb, 0x36, 0x07, 0xe4, 0x1a, 0x28, 0xeb, 0x30, 0x9b, 0xac, 0x7f, 0xbc, 0x86, + 0x94, 0x06, 0x6b, 0xc8, 0x55, 0x80, 0x09, 0x81, 0xa7, 0x7c, 0x06, 0x53, 0x03, 0x1e, 0x8e, 0x14, + 0x99, 0x52, 0xbc, 0x3d, 0x0c, 0x73, 0x7f, 0x0b, 0x37, 0x87, 0x38, 0x16, 0x3d, 0xf6, 0x43, 0x87, + 0x15, 0x0e, 0x12, 0x2f, 0x1c, 0xc2, 0x76, 0xda, 0x24, 0xbd, 0x43, 0x76, 0xde, 0x77, 0xb1, 0xc1, + 0xac, 0xcc, 0x82, 0xe6, 0x10, 0x9b, 0x11, 0xf0, 0xa7, 0x30, 0x19, 0xa6, 0x1a, 0x39, 0x99, 0xfc, + 0x2a, 0xc1, 0x4c, 0xa2, 0x37, 0x51, 0x39, 0x96, 0x59, 0x98, 0x5a, 0x22, 0xb7, 0x4c, 0x87, 0x73, + 0xcb, 0xc6, 0x18, 0xbf, 0x60, 0x4a, 0xd1, 0xec, 0xc2, 0x24, 0xe5, 0xf9, 0xa5, 0x1c, 0xcb, 0x2f, + 0x0c, 0x8b, 0x4f, 0x44, 0xb4, 0xf8, 0x3d, 0x05, 0x53, 0x03, 0xad, 0x0a, 0x93, 0xdc, 0x34, 0x3a, + 0x86, 0x2f, 0x47, 0x5e, 0xf5, 0x07, 0x6c, 0x36, 0xdc, 0x65, 0xf8, 0x03, 0xf4, 0x25, 0x64, 0x5d, + 0xcb, 0xa1, 0x9b, 0xa4, 0xe7, 0x09, 0x51, 0x58, 0x5e, 0xbc, 0xb8, 0x0f, 0xaa, 0xee, 0xf9, 0xd4, + 0xaa, 0x60, 0x43, 0x2f, 0x40, 0x66, 0xbf, 0x3b, 0x8e, 0xc6, 0x0f, 0x7f, 0x61, 0x79, 0x69, 0x04, + 0x0c, 0x8f, 0x5e, 0xed, 0xb3, 0x2a, 0x0f, 0x40, 0x0e, 0xe6, 0x51, 0x01, 0xa0, 0xd1, 0xdc, 0x5b, + 0x6b, 0x6e, 0x37, 0x5a, 0xdb, 0xeb, 0xc5, 0x31, 0x94, 0x07, 0xb9, 0x1e, 0x0c, 0x25, 0xe5, 0x36, + 0x64, 0xb9, 0x1c, 0x68, 0x0a, 0xf2, 0x6b, 0x6a, 0xb3, 0xbe, 0xdf, 0xda, 0xd9, 0x6e, 0xef, 0xb7, + 0xb6, 0x9a, 0xc5, 0xb1, 0xe5, 0x9f, 0xb3, 0x90, 0x63, 0x3e, 0x5a, 0xf3, 0x05, 0x40, 0x87, 0x90, + 0x8f, 0x3c, 0xd1, 0xa0, 0xe8, 0xed, 0x96, 0xf4, 0x0c, 0x54, 0x56, 0x2e, 0x22, 0xe1, 0xf5, 0xde, + 0x16, 0x40, 0xff, 0x69, 0x06, 0x45, 0x6f, 0xb6, 0x81, 0xa7, 0x9f, 0xf2, 0xc2, 0xd0, 0x75, 0x0e, + 0xf7, 0x35, 0x14, 0xa2, 0x8f, 0x0e, 0x28, 0x49, 0x88, 0x58, 0x23, 0x58, 0xbe, 0x77, 0x21, 0x0d, + 0x87, 0xde, 0x85, 0x5c, 0xe8, 0x95, 0x05, 0x0d, 0x88, 0x12, 0x07, 0xad, 0x0c, 0x27, 0xe0, 0x88, + 0x75, 0xc8, 0xf8, 0x4f, 0x1a, 0x28, 0x5a, 0x84, 0x46, 0x1e, 0x47, 0xca, 0xb7, 0x12, 0xd7, 0x38, + 0xc4, 0x21, 0xe4, 0x23, 0x2f, 0x08, 0x31, 0xb7, 0x24, 0x3d, 0x8f, 0xc4, 0xdc, 0x92, 0xfc, 0x00, + 0xb1, 0x07, 0x93, 0xe1, 0xee, 0x1c, 0x55, 0x06, 0x78, 0x62, 0xcf, 0x08, 0xe5, 0xbb, 0x17, 0x50, + 0xf4, 0x9d, 0x13, 0xed, 0x45, 0x63, 0xce, 0x49, 0xec, 0xd2, 0x63, 0xce, 0x19, 0xd2, 0xcc, 0xbe, + 0x81, 0xd9, 0xe4, 0xc6, 0x02, 0x3d, 0x88, 0xbb, 0x61, 0x78, 0xb3, 0x59, 0xfe, 0xff, 0x48, 0xb4, + 0x7c, 0x4b, 0x02, 0x68, 0xb0, 0xe4, 0x47, 0x8b, 0xb1, 0x76, 0x62, 0x48, 0x3b, 0x52, 0xfe, 0xdf, + 0xa5, 0x74, 0xfe, 0x36, 0xab, 0x6b, 0xdf, 0xd4, 0x75, 0x83, 0xbe, 0x3e, 0x3b, 0xaa, 0x1e, 0x5b, + 0x9d, 0x9a, 0x57, 0x87, 0x59, 0x8e, 0xee, 0xff, 0xd4, 0x82, 0xe7, 0x5d, 0x9d, 0x74, 0x6b, 0xf6, + 0xd1, 0x43, 0xdd, 0xaa, 0x25, 0x3d, 0x13, 0x1f, 0x65, 0xbc, 0x92, 0x70, 0xe5, 0xdf, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x62, 0x68, 0x58, 0x86, 0x45, 0x16, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.validate.go b/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.validate.go index 0f1f5dd9e6..499f456839 100644 --- a/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.validate.go +++ b/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.validate.go @@ -1167,6 +1167,16 @@ func (m *UpdateArtifactRequest) Validate() error { } + if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UpdateArtifactRequestValidationError{ + field: "Metadata", + reason: "embedded message failed validation", + cause: err, + } + } + } + switch m.QueryHandle.(type) { case *UpdateArtifactRequest_ArtifactId: diff --git a/flyteidl/gen/pb-java/datacatalog/Datacatalog.java b/flyteidl/gen/pb-java/datacatalog/Datacatalog.java index 6a46ef05db..3dda04336f 100644 --- a/flyteidl/gen/pb-java/datacatalog/Datacatalog.java +++ b/flyteidl/gen/pb-java/datacatalog/Datacatalog.java @@ -10337,6 +10337,31 @@ public interface UpdateArtifactRequestOrBuilder extends datacatalog.Datacatalog.ArtifactDataOrBuilder getDataOrBuilder( int index); + /** + *
+     * Update task execution metadata when overwriting cache
+     * 
+ * + * .datacatalog.Metadata metadata = 5; + */ + boolean hasMetadata(); + /** + *
+     * Update task execution metadata when overwriting cache
+     * 
+ * + * .datacatalog.Metadata metadata = 5; + */ + datacatalog.Datacatalog.Metadata getMetadata(); + /** + *
+     * Update task execution metadata when overwriting cache
+     * 
+ * + * .datacatalog.Metadata metadata = 5; + */ + datacatalog.Datacatalog.MetadataOrBuilder getMetadataOrBuilder(); + public datacatalog.Datacatalog.UpdateArtifactRequest.QueryHandleCase getQueryHandleCase(); } /** @@ -10417,6 +10442,19 @@ private UpdateArtifactRequest( input.readMessage(datacatalog.Datacatalog.ArtifactData.parser(), extensionRegistry)); break; } + case 42: { + datacatalog.Datacatalog.Metadata.Builder subBuilder = null; + if (metadata_ != null) { + subBuilder = metadata_.toBuilder(); + } + metadata_ = input.readMessage(datacatalog.Datacatalog.Metadata.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(metadata_); + metadata_ = subBuilder.buildPartial(); + } + + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -10670,6 +10708,39 @@ public datacatalog.Datacatalog.ArtifactDataOrBuilder getDataOrBuilder( return data_.get(index); } + public static final int METADATA_FIELD_NUMBER = 5; + private datacatalog.Datacatalog.Metadata metadata_; + /** + *
+     * Update task execution metadata when overwriting cache
+     * 
+ * + * .datacatalog.Metadata metadata = 5; + */ + public boolean hasMetadata() { + return metadata_ != null; + } + /** + *
+     * Update task execution metadata when overwriting cache
+     * 
+ * + * .datacatalog.Metadata metadata = 5; + */ + public datacatalog.Datacatalog.Metadata getMetadata() { + return metadata_ == null ? datacatalog.Datacatalog.Metadata.getDefaultInstance() : metadata_; + } + /** + *
+     * Update task execution metadata when overwriting cache
+     * 
+ * + * .datacatalog.Metadata metadata = 5; + */ + public datacatalog.Datacatalog.MetadataOrBuilder getMetadataOrBuilder() { + return getMetadata(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -10696,6 +10767,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) for (int i = 0; i < data_.size(); i++) { output.writeMessage(4, data_.get(i)); } + if (metadata_ != null) { + output.writeMessage(5, getMetadata()); + } unknownFields.writeTo(output); } @@ -10719,6 +10793,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, data_.get(i)); } + if (metadata_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getMetadata()); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -10741,6 +10819,11 @@ public boolean equals(final java.lang.Object obj) { } if (!getDataList() .equals(other.getDataList())) return false; + if (hasMetadata() != other.hasMetadata()) return false; + if (hasMetadata()) { + if (!getMetadata() + .equals(other.getMetadata())) return false; + } if (!getQueryHandleCase().equals(other.getQueryHandleCase())) return false; switch (queryHandleCase_) { case 2: @@ -10773,6 +10856,10 @@ public int hashCode() { hash = (37 * hash) + DATA_FIELD_NUMBER; hash = (53 * hash) + getDataList().hashCode(); } + if (hasMetadata()) { + hash = (37 * hash) + METADATA_FIELD_NUMBER; + hash = (53 * hash) + getMetadata().hashCode(); + } switch (queryHandleCase_) { case 2: hash = (37 * hash) + ARTIFACT_ID_FIELD_NUMBER; @@ -10935,6 +11022,12 @@ public Builder clear() { } else { dataBuilder_.clear(); } + if (metadataBuilder_ == null) { + metadata_ = null; + } else { + metadata_ = null; + metadataBuilder_ = null; + } queryHandleCase_ = 0; queryHandle_ = null; return this; @@ -10985,6 +11078,11 @@ public datacatalog.Datacatalog.UpdateArtifactRequest buildPartial() { } else { result.data_ = dataBuilder_.build(); } + if (metadataBuilder_ == null) { + result.metadata_ = metadata_; + } else { + result.metadata_ = metadataBuilder_.build(); + } result.bitField0_ = to_bitField0_; result.queryHandleCase_ = queryHandleCase_; onBuilt(); @@ -11064,6 +11162,9 @@ public Builder mergeFrom(datacatalog.Datacatalog.UpdateArtifactRequest other) { } } } + if (other.hasMetadata()) { + mergeMetadata(other.getMetadata()); + } switch (other.getQueryHandleCase()) { case ARTIFACT_ID: { queryHandleCase_ = 2; @@ -11768,6 +11869,159 @@ public datacatalog.Datacatalog.ArtifactData.Builder addDataBuilder( } return dataBuilder_; } + + private datacatalog.Datacatalog.Metadata metadata_; + private com.google.protobuf.SingleFieldBuilderV3< + datacatalog.Datacatalog.Metadata, datacatalog.Datacatalog.Metadata.Builder, datacatalog.Datacatalog.MetadataOrBuilder> metadataBuilder_; + /** + *
+       * Update task execution metadata when overwriting cache
+       * 
+ * + * .datacatalog.Metadata metadata = 5; + */ + public boolean hasMetadata() { + return metadataBuilder_ != null || metadata_ != null; + } + /** + *
+       * Update task execution metadata when overwriting cache
+       * 
+ * + * .datacatalog.Metadata metadata = 5; + */ + public datacatalog.Datacatalog.Metadata getMetadata() { + if (metadataBuilder_ == null) { + return metadata_ == null ? datacatalog.Datacatalog.Metadata.getDefaultInstance() : metadata_; + } else { + return metadataBuilder_.getMessage(); + } + } + /** + *
+       * Update task execution metadata when overwriting cache
+       * 
+ * + * .datacatalog.Metadata metadata = 5; + */ + public Builder setMetadata(datacatalog.Datacatalog.Metadata value) { + if (metadataBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + metadata_ = value; + onChanged(); + } else { + metadataBuilder_.setMessage(value); + } + + return this; + } + /** + *
+       * Update task execution metadata when overwriting cache
+       * 
+ * + * .datacatalog.Metadata metadata = 5; + */ + public Builder setMetadata( + datacatalog.Datacatalog.Metadata.Builder builderForValue) { + if (metadataBuilder_ == null) { + metadata_ = builderForValue.build(); + onChanged(); + } else { + metadataBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+       * Update task execution metadata when overwriting cache
+       * 
+ * + * .datacatalog.Metadata metadata = 5; + */ + public Builder mergeMetadata(datacatalog.Datacatalog.Metadata value) { + if (metadataBuilder_ == null) { + if (metadata_ != null) { + metadata_ = + datacatalog.Datacatalog.Metadata.newBuilder(metadata_).mergeFrom(value).buildPartial(); + } else { + metadata_ = value; + } + onChanged(); + } else { + metadataBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+       * Update task execution metadata when overwriting cache
+       * 
+ * + * .datacatalog.Metadata metadata = 5; + */ + public Builder clearMetadata() { + if (metadataBuilder_ == null) { + metadata_ = null; + onChanged(); + } else { + metadata_ = null; + metadataBuilder_ = null; + } + + return this; + } + /** + *
+       * Update task execution metadata when overwriting cache
+       * 
+ * + * .datacatalog.Metadata metadata = 5; + */ + public datacatalog.Datacatalog.Metadata.Builder getMetadataBuilder() { + + onChanged(); + return getMetadataFieldBuilder().getBuilder(); + } + /** + *
+       * Update task execution metadata when overwriting cache
+       * 
+ * + * .datacatalog.Metadata metadata = 5; + */ + public datacatalog.Datacatalog.MetadataOrBuilder getMetadataOrBuilder() { + if (metadataBuilder_ != null) { + return metadataBuilder_.getMessageOrBuilder(); + } else { + return metadata_ == null ? + datacatalog.Datacatalog.Metadata.getDefaultInstance() : metadata_; + } + } + /** + *
+       * Update task execution metadata when overwriting cache
+       * 
+ * + * .datacatalog.Metadata metadata = 5; + */ + private com.google.protobuf.SingleFieldBuilderV3< + datacatalog.Datacatalog.Metadata, datacatalog.Datacatalog.Metadata.Builder, datacatalog.Datacatalog.MetadataOrBuilder> + getMetadataFieldBuilder() { + if (metadataBuilder_ == null) { + metadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + datacatalog.Datacatalog.Metadata, datacatalog.Datacatalog.Metadata.Builder, datacatalog.Datacatalog.MetadataOrBuilder>( + getMetadata(), + getParentForChildren(), + isClean()); + metadata_ = null; + } + return metadataBuilder_; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -33588,99 +33842,100 @@ public datacatalog.Datacatalog.PaginationOptions getDefaultInstanceForType() { "\002 \001(\0132\036.datacatalog.PaginationOptions\"R\n" + "\024ListDatasetsResponse\022&\n\010datasets\030\001 \003(\0132" + "\024.datacatalog.Dataset\022\022\n\nnext_token\030\002 \001(" + - "\t\"\244\001\n\025UpdateArtifactRequest\022\'\n\007dataset\030\001" + + "\t\"\315\001\n\025UpdateArtifactRequest\022\'\n\007dataset\030\001" + " \001(\0132\026.datacatalog.DatasetID\022\025\n\013artifact" + "_id\030\002 \001(\tH\000\022\022\n\010tag_name\030\003 \001(\tH\000\022\'\n\004data\030" + - "\004 \003(\0132\031.datacatalog.ArtifactDataB\016\n\014quer" + - "y_handle\"-\n\026UpdateArtifactResponse\022\023\n\013ar" + - "tifact_id\030\001 \001(\t\"M\n\rReservationID\022*\n\ndata" + - "set_id\030\001 \001(\0132\026.datacatalog.DatasetID\022\020\n\010" + - "tag_name\030\002 \001(\t\"\234\001\n\035GetOrExtendReservatio" + - "nRequest\0222\n\016reservation_id\030\001 \001(\0132\032.datac" + - "atalog.ReservationID\022\020\n\010owner_id\030\002 \001(\t\0225" + - "\n\022heartbeat_interval\030\003 \001(\0132\031.google.prot" + - "obuf.Duration\"\343\001\n\013Reservation\0222\n\016reserva" + - "tion_id\030\001 \001(\0132\032.datacatalog.ReservationI" + - "D\022\020\n\010owner_id\030\002 \001(\t\0225\n\022heartbeat_interva" + - "l\030\003 \001(\0132\031.google.protobuf.Duration\022.\n\nex" + - "pires_at\030\004 \001(\0132\032.google.protobuf.Timesta" + - "mp\022\'\n\010metadata\030\006 \001(\0132\025.datacatalog.Metad" + - "ata\"O\n\036GetOrExtendReservationResponse\022-\n" + - "\013reservation\030\001 \001(\0132\030.datacatalog.Reserva" + - "tion\"a\n\031ReleaseReservationRequest\0222\n\016res" + - "ervation_id\030\001 \001(\0132\032.datacatalog.Reservat" + - "ionID\022\020\n\010owner_id\030\002 \001(\t\"\034\n\032ReleaseReserv" + - "ationResponse\"m\n\007Dataset\022\"\n\002id\030\001 \001(\0132\026.d" + - "atacatalog.DatasetID\022\'\n\010metadata\030\002 \001(\0132\025" + - ".datacatalog.Metadata\022\025\n\rpartitionKeys\030\003" + - " \003(\t\"\'\n\tPartition\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030" + - "\002 \001(\t\"Y\n\tDatasetID\022\017\n\007project\030\001 \001(\t\022\014\n\004n" + - "ame\030\002 \001(\t\022\016\n\006domain\030\003 \001(\t\022\017\n\007version\030\004 \001" + - "(\t\022\014\n\004UUID\030\005 \001(\t\"\215\002\n\010Artifact\022\n\n\002id\030\001 \001(" + - "\t\022\'\n\007dataset\030\002 \001(\0132\026.datacatalog.Dataset" + - "ID\022\'\n\004data\030\003 \003(\0132\031.datacatalog.ArtifactD" + - "ata\022\'\n\010metadata\030\004 \001(\0132\025.datacatalog.Meta" + - "data\022*\n\npartitions\030\005 \003(\0132\026.datacatalog.P" + - "artition\022\036\n\004tags\030\006 \003(\0132\020.datacatalog.Tag" + - "\022.\n\ncreated_at\030\007 \001(\0132\032.google.protobuf.T" + - "imestamp\"C\n\014ArtifactData\022\014\n\004name\030\001 \001(\t\022%" + - "\n\005value\030\002 \001(\0132\026.flyteidl.core.Literal\"Q\n" + - "\003Tag\022\014\n\004name\030\001 \001(\t\022\023\n\013artifact_id\030\002 \001(\t\022" + - "\'\n\007dataset\030\003 \001(\0132\026.datacatalog.DatasetID" + - "\"m\n\010Metadata\0222\n\007key_map\030\001 \003(\0132!.datacata" + - "log.Metadata.KeyMapEntry\032-\n\013KeyMapEntry\022" + - "\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"F\n\020Filte" + - "rExpression\0222\n\007filters\030\001 \003(\0132!.datacatal" + - "og.SinglePropertyFilter\"\211\003\n\024SingleProper" + - "tyFilter\0224\n\ntag_filter\030\001 \001(\0132\036.datacatal" + - "og.TagPropertyFilterH\000\022@\n\020partition_filt" + - "er\030\002 \001(\0132$.datacatalog.PartitionProperty" + - "FilterH\000\022>\n\017artifact_filter\030\003 \001(\0132#.data" + - "catalog.ArtifactPropertyFilterH\000\022<\n\016data" + - "set_filter\030\004 \001(\0132\".datacatalog.DatasetPr" + - "opertyFilterH\000\022F\n\010operator\030\n \001(\01624.datac" + - "atalog.SinglePropertyFilter.ComparisonOp" + - "erator\" \n\022ComparisonOperator\022\n\n\006EQUALS\020\000" + - "B\021\n\017property_filter\";\n\026ArtifactPropertyF" + - "ilter\022\025\n\013artifact_id\030\001 \001(\tH\000B\n\n\010property" + - "\"3\n\021TagPropertyFilter\022\022\n\010tag_name\030\001 \001(\tH" + - "\000B\n\n\010property\"S\n\027PartitionPropertyFilter" + - "\022,\n\007key_val\030\001 \001(\0132\031.datacatalog.KeyValue" + - "PairH\000B\n\n\010property\"*\n\014KeyValuePair\022\013\n\003ke" + - "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"k\n\025DatasetPropert" + - "yFilter\022\021\n\007project\030\001 \001(\tH\000\022\016\n\004name\030\002 \001(\t" + - "H\000\022\020\n\006domain\030\003 \001(\tH\000\022\021\n\007version\030\004 \001(\tH\000B" + - "\n\n\010property\"\361\001\n\021PaginationOptions\022\r\n\005lim" + - "it\030\001 \001(\r\022\r\n\005token\030\002 \001(\t\0227\n\007sortKey\030\003 \001(\016" + - "2&.datacatalog.PaginationOptions.SortKey" + - "\022;\n\tsortOrder\030\004 \001(\0162(.datacatalog.Pagina" + - "tionOptions.SortOrder\"*\n\tSortOrder\022\016\n\nDE" + - "SCENDING\020\000\022\r\n\tASCENDING\020\001\"\034\n\007SortKey\022\021\n\r" + - "CREATION_TIME\020\0002\206\007\n\013DataCatalog\022V\n\rCreat" + - "eDataset\022!.datacatalog.CreateDatasetRequ" + - "est\032\".datacatalog.CreateDatasetResponse\022" + - "M\n\nGetDataset\022\036.datacatalog.GetDatasetRe" + - "quest\032\037.datacatalog.GetDatasetResponse\022Y" + - "\n\016CreateArtifact\022\".datacatalog.CreateArt" + - "ifactRequest\032#.datacatalog.CreateArtifac" + - "tResponse\022P\n\013GetArtifact\022\037.datacatalog.G" + - "etArtifactRequest\032 .datacatalog.GetArtif" + - "actResponse\022A\n\006AddTag\022\032.datacatalog.AddT" + - "agRequest\032\033.datacatalog.AddTagResponse\022V" + - "\n\rListArtifacts\022!.datacatalog.ListArtifa" + - "ctsRequest\032\".datacatalog.ListArtifactsRe" + - "sponse\022S\n\014ListDatasets\022 .datacatalog.Lis" + - "tDatasetsRequest\032!.datacatalog.ListDatas" + - "etsResponse\022Y\n\016UpdateArtifact\022\".datacata" + - "log.UpdateArtifactRequest\032#.datacatalog." + - "UpdateArtifactResponse\022q\n\026GetOrExtendRes" + - "ervation\022*.datacatalog.GetOrExtendReserv" + - "ationRequest\032+.datacatalog.GetOrExtendRe" + - "servationResponse\022e\n\022ReleaseReservation\022" + - "&.datacatalog.ReleaseReservationRequest\032" + - "\'.datacatalog.ReleaseReservationResponse" + - "BCZAgithub.com/flyteorg/flyte/flyteidl/g" + - "en/pb-go/flyteidl/datacatalogb\006proto3" + "\004 \003(\0132\031.datacatalog.ArtifactData\022\'\n\010meta" + + "data\030\005 \001(\0132\025.datacatalog.MetadataB\016\n\014que" + + "ry_handle\"-\n\026UpdateArtifactResponse\022\023\n\013a" + + "rtifact_id\030\001 \001(\t\"M\n\rReservationID\022*\n\ndat" + + "aset_id\030\001 \001(\0132\026.datacatalog.DatasetID\022\020\n" + + "\010tag_name\030\002 \001(\t\"\234\001\n\035GetOrExtendReservati" + + "onRequest\0222\n\016reservation_id\030\001 \001(\0132\032.data" + + "catalog.ReservationID\022\020\n\010owner_id\030\002 \001(\t\022" + + "5\n\022heartbeat_interval\030\003 \001(\0132\031.google.pro" + + "tobuf.Duration\"\343\001\n\013Reservation\0222\n\016reserv" + + "ation_id\030\001 \001(\0132\032.datacatalog.Reservation" + + "ID\022\020\n\010owner_id\030\002 \001(\t\0225\n\022heartbeat_interv" + + "al\030\003 \001(\0132\031.google.protobuf.Duration\022.\n\ne" + + "xpires_at\030\004 \001(\0132\032.google.protobuf.Timest" + + "amp\022\'\n\010metadata\030\006 \001(\0132\025.datacatalog.Meta" + + "data\"O\n\036GetOrExtendReservationResponse\022-" + + "\n\013reservation\030\001 \001(\0132\030.datacatalog.Reserv" + + "ation\"a\n\031ReleaseReservationRequest\0222\n\016re" + + "servation_id\030\001 \001(\0132\032.datacatalog.Reserva" + + "tionID\022\020\n\010owner_id\030\002 \001(\t\"\034\n\032ReleaseReser" + + "vationResponse\"m\n\007Dataset\022\"\n\002id\030\001 \001(\0132\026." + + "datacatalog.DatasetID\022\'\n\010metadata\030\002 \001(\0132" + + "\025.datacatalog.Metadata\022\025\n\rpartitionKeys\030" + + "\003 \003(\t\"\'\n\tPartition\022\013\n\003key\030\001 \001(\t\022\r\n\005value" + + "\030\002 \001(\t\"Y\n\tDatasetID\022\017\n\007project\030\001 \001(\t\022\014\n\004" + + "name\030\002 \001(\t\022\016\n\006domain\030\003 \001(\t\022\017\n\007version\030\004 " + + "\001(\t\022\014\n\004UUID\030\005 \001(\t\"\215\002\n\010Artifact\022\n\n\002id\030\001 \001" + + "(\t\022\'\n\007dataset\030\002 \001(\0132\026.datacatalog.Datase" + + "tID\022\'\n\004data\030\003 \003(\0132\031.datacatalog.Artifact" + + "Data\022\'\n\010metadata\030\004 \001(\0132\025.datacatalog.Met" + + "adata\022*\n\npartitions\030\005 \003(\0132\026.datacatalog." + + "Partition\022\036\n\004tags\030\006 \003(\0132\020.datacatalog.Ta" + + "g\022.\n\ncreated_at\030\007 \001(\0132\032.google.protobuf." + + "Timestamp\"C\n\014ArtifactData\022\014\n\004name\030\001 \001(\t\022" + + "%\n\005value\030\002 \001(\0132\026.flyteidl.core.Literal\"Q" + + "\n\003Tag\022\014\n\004name\030\001 \001(\t\022\023\n\013artifact_id\030\002 \001(\t" + + "\022\'\n\007dataset\030\003 \001(\0132\026.datacatalog.DatasetI" + + "D\"m\n\010Metadata\0222\n\007key_map\030\001 \003(\0132!.datacat" + + "alog.Metadata.KeyMapEntry\032-\n\013KeyMapEntry" + + "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"F\n\020Filt" + + "erExpression\0222\n\007filters\030\001 \003(\0132!.datacata" + + "log.SinglePropertyFilter\"\211\003\n\024SinglePrope" + + "rtyFilter\0224\n\ntag_filter\030\001 \001(\0132\036.datacata" + + "log.TagPropertyFilterH\000\022@\n\020partition_fil" + + "ter\030\002 \001(\0132$.datacatalog.PartitionPropert" + + "yFilterH\000\022>\n\017artifact_filter\030\003 \001(\0132#.dat" + + "acatalog.ArtifactPropertyFilterH\000\022<\n\016dat" + + "aset_filter\030\004 \001(\0132\".datacatalog.DatasetP" + + "ropertyFilterH\000\022F\n\010operator\030\n \001(\01624.data" + + "catalog.SinglePropertyFilter.ComparisonO" + + "perator\" \n\022ComparisonOperator\022\n\n\006EQUALS\020" + + "\000B\021\n\017property_filter\";\n\026ArtifactProperty" + + "Filter\022\025\n\013artifact_id\030\001 \001(\tH\000B\n\n\010propert" + + "y\"3\n\021TagPropertyFilter\022\022\n\010tag_name\030\001 \001(\t" + + "H\000B\n\n\010property\"S\n\027PartitionPropertyFilte" + + "r\022,\n\007key_val\030\001 \001(\0132\031.datacatalog.KeyValu" + + "ePairH\000B\n\n\010property\"*\n\014KeyValuePair\022\013\n\003k" + + "ey\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"k\n\025DatasetProper" + + "tyFilter\022\021\n\007project\030\001 \001(\tH\000\022\016\n\004name\030\002 \001(" + + "\tH\000\022\020\n\006domain\030\003 \001(\tH\000\022\021\n\007version\030\004 \001(\tH\000" + + "B\n\n\010property\"\361\001\n\021PaginationOptions\022\r\n\005li" + + "mit\030\001 \001(\r\022\r\n\005token\030\002 \001(\t\0227\n\007sortKey\030\003 \001(" + + "\0162&.datacatalog.PaginationOptions.SortKe" + + "y\022;\n\tsortOrder\030\004 \001(\0162(.datacatalog.Pagin" + + "ationOptions.SortOrder\"*\n\tSortOrder\022\016\n\nD" + + "ESCENDING\020\000\022\r\n\tASCENDING\020\001\"\034\n\007SortKey\022\021\n" + + "\rCREATION_TIME\020\0002\206\007\n\013DataCatalog\022V\n\rCrea" + + "teDataset\022!.datacatalog.CreateDatasetReq" + + "uest\032\".datacatalog.CreateDatasetResponse" + + "\022M\n\nGetDataset\022\036.datacatalog.GetDatasetR" + + "equest\032\037.datacatalog.GetDatasetResponse\022" + + "Y\n\016CreateArtifact\022\".datacatalog.CreateAr" + + "tifactRequest\032#.datacatalog.CreateArtifa" + + "ctResponse\022P\n\013GetArtifact\022\037.datacatalog." + + "GetArtifactRequest\032 .datacatalog.GetArti" + + "factResponse\022A\n\006AddTag\022\032.datacatalog.Add" + + "TagRequest\032\033.datacatalog.AddTagResponse\022" + + "V\n\rListArtifacts\022!.datacatalog.ListArtif" + + "actsRequest\032\".datacatalog.ListArtifactsR" + + "esponse\022S\n\014ListDatasets\022 .datacatalog.Li" + + "stDatasetsRequest\032!.datacatalog.ListData" + + "setsResponse\022Y\n\016UpdateArtifact\022\".datacat" + + "alog.UpdateArtifactRequest\032#.datacatalog" + + ".UpdateArtifactResponse\022q\n\026GetOrExtendRe" + + "servation\022*.datacatalog.GetOrExtendReser" + + "vationRequest\032+.datacatalog.GetOrExtendR" + + "eservationResponse\022e\n\022ReleaseReservation" + + "\022&.datacatalog.ReleaseReservationRequest" + + "\032\'.datacatalog.ReleaseReservationRespons" + + "eBCZAgithub.com/flyteorg/flyte/flyteidl/" + + "gen/pb-go/flyteidl/datacatalogb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -33786,7 +34041,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_datacatalog_UpdateArtifactRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_datacatalog_UpdateArtifactRequest_descriptor, - new java.lang.String[] { "Dataset", "ArtifactId", "TagName", "Data", "QueryHandle", }); + new java.lang.String[] { "Dataset", "ArtifactId", "TagName", "Data", "Metadata", "QueryHandle", }); internal_static_datacatalog_UpdateArtifactResponse_descriptor = getDescriptor().getMessageTypes().get(15); internal_static_datacatalog_UpdateArtifactResponse_fieldAccessorTable = new diff --git a/flyteidl/gen/pb_python/flyteidl/datacatalog/datacatalog_pb2.py b/flyteidl/gen/pb_python/flyteidl/datacatalog/datacatalog_pb2.py index 610a93a6da..1de3b8a96e 100644 --- a/flyteidl/gen/pb_python/flyteidl/datacatalog/datacatalog_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/datacatalog/datacatalog_pb2.py @@ -16,7 +16,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&flyteidl/datacatalog/datacatalog.proto\x12\x0b\x64\x61tacatalog\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"F\n\x14\x43reateDatasetRequest\x12.\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x14.datacatalog.DatasetR\x07\x64\x61taset\"\x17\n\x15\x43reateDatasetResponse\"E\n\x11GetDatasetRequest\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\"D\n\x12GetDatasetResponse\x12.\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x14.datacatalog.DatasetR\x07\x64\x61taset\"\x96\x01\n\x12GetArtifactRequest\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\x12!\n\x0b\x61rtifact_id\x18\x02 \x01(\tH\x00R\nartifactId\x12\x1b\n\x08tag_name\x18\x03 \x01(\tH\x00R\x07tagNameB\x0e\n\x0cquery_handle\"H\n\x13GetArtifactResponse\x12\x31\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32\x15.datacatalog.ArtifactR\x08\x61rtifact\"J\n\x15\x43reateArtifactRequest\x12\x31\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32\x15.datacatalog.ArtifactR\x08\x61rtifact\"\x18\n\x16\x43reateArtifactResponse\"3\n\rAddTagRequest\x12\"\n\x03tag\x18\x01 \x01(\x0b\x32\x10.datacatalog.TagR\x03tag\"\x10\n\x0e\x41\x64\x64TagResponse\"\xbf\x01\n\x14ListArtifactsRequest\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\x12\x35\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x1d.datacatalog.FilterExpressionR\x06\x66ilter\x12>\n\npagination\x18\x03 \x01(\x0b\x32\x1e.datacatalog.PaginationOptionsR\npagination\"k\n\x15ListArtifactsResponse\x12\x33\n\tartifacts\x18\x01 \x03(\x0b\x32\x15.datacatalog.ArtifactR\tartifacts\x12\x1d\n\nnext_token\x18\x02 \x01(\tR\tnextToken\"\x8c\x01\n\x13ListDatasetsRequest\x12\x35\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x1d.datacatalog.FilterExpressionR\x06\x66ilter\x12>\n\npagination\x18\x02 \x01(\x0b\x32\x1e.datacatalog.PaginationOptionsR\npagination\"g\n\x14ListDatasetsResponse\x12\x30\n\x08\x64\x61tasets\x18\x01 \x03(\x0b\x32\x14.datacatalog.DatasetR\x08\x64\x61tasets\x12\x1d\n\nnext_token\x18\x02 \x01(\tR\tnextToken\"\xc8\x01\n\x15UpdateArtifactRequest\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\x12!\n\x0b\x61rtifact_id\x18\x02 \x01(\tH\x00R\nartifactId\x12\x1b\n\x08tag_name\x18\x03 \x01(\tH\x00R\x07tagName\x12-\n\x04\x64\x61ta\x18\x04 \x03(\x0b\x32\x19.datacatalog.ArtifactDataR\x04\x64\x61taB\x0e\n\x0cquery_handle\"9\n\x16UpdateArtifactResponse\x12\x1f\n\x0b\x61rtifact_id\x18\x01 \x01(\tR\nartifactId\"a\n\rReservationID\x12\x35\n\ndataset_id\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\tdatasetId\x12\x19\n\x08tag_name\x18\x02 \x01(\tR\x07tagName\"\xc7\x01\n\x1dGetOrExtendReservationRequest\x12\x41\n\x0ereservation_id\x18\x01 \x01(\x0b\x32\x1a.datacatalog.ReservationIDR\rreservationId\x12\x19\n\x08owner_id\x18\x02 \x01(\tR\x07ownerId\x12H\n\x12heartbeat_interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x11heartbeatInterval\"\xa3\x02\n\x0bReservation\x12\x41\n\x0ereservation_id\x18\x01 \x01(\x0b\x32\x1a.datacatalog.ReservationIDR\rreservationId\x12\x19\n\x08owner_id\x18\x02 \x01(\tR\x07ownerId\x12H\n\x12heartbeat_interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x11heartbeatInterval\x12\x39\n\nexpires_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x31\n\x08metadata\x18\x06 \x01(\x0b\x32\x15.datacatalog.MetadataR\x08metadata\"\\\n\x1eGetOrExtendReservationResponse\x12:\n\x0breservation\x18\x01 \x01(\x0b\x32\x18.datacatalog.ReservationR\x0breservation\"y\n\x19ReleaseReservationRequest\x12\x41\n\x0ereservation_id\x18\x01 \x01(\x0b\x32\x1a.datacatalog.ReservationIDR\rreservationId\x12\x19\n\x08owner_id\x18\x02 \x01(\tR\x07ownerId\"\x1c\n\x1aReleaseReservationResponse\"\x8a\x01\n\x07\x44\x61taset\x12&\n\x02id\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x02id\x12\x31\n\x08metadata\x18\x02 \x01(\x0b\x32\x15.datacatalog.MetadataR\x08metadata\x12$\n\rpartitionKeys\x18\x03 \x03(\tR\rpartitionKeys\"3\n\tPartition\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\"\x7f\n\tDatasetID\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n\x06\x64omain\x18\x03 \x01(\tR\x06\x64omain\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version\x12\x12\n\x04UUID\x18\x05 \x01(\tR\x04UUID\"\xc7\x02\n\x08\x41rtifact\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x30\n\x07\x64\x61taset\x18\x02 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\x12-\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32\x19.datacatalog.ArtifactDataR\x04\x64\x61ta\x12\x31\n\x08metadata\x18\x04 \x01(\x0b\x32\x15.datacatalog.MetadataR\x08metadata\x12\x36\n\npartitions\x18\x05 \x03(\x0b\x32\x16.datacatalog.PartitionR\npartitions\x12$\n\x04tags\x18\x06 \x03(\x0b\x32\x10.datacatalog.TagR\x04tags\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\"P\n\x0c\x41rtifactData\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.flyteidl.core.LiteralR\x05value\"l\n\x03Tag\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0b\x61rtifact_id\x18\x02 \x01(\tR\nartifactId\x12\x30\n\x07\x64\x61taset\x18\x03 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\"\x81\x01\n\x08Metadata\x12:\n\x07key_map\x18\x01 \x03(\x0b\x32!.datacatalog.Metadata.KeyMapEntryR\x06keyMap\x1a\x39\n\x0bKeyMapEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"O\n\x10\x46ilterExpression\x12;\n\x07\x66ilters\x18\x01 \x03(\x0b\x32!.datacatalog.SinglePropertyFilterR\x07\x66ilters\"\xce\x03\n\x14SinglePropertyFilter\x12?\n\ntag_filter\x18\x01 \x01(\x0b\x32\x1e.datacatalog.TagPropertyFilterH\x00R\ttagFilter\x12Q\n\x10partition_filter\x18\x02 \x01(\x0b\x32$.datacatalog.PartitionPropertyFilterH\x00R\x0fpartitionFilter\x12N\n\x0f\x61rtifact_filter\x18\x03 \x01(\x0b\x32#.datacatalog.ArtifactPropertyFilterH\x00R\x0e\x61rtifactFilter\x12K\n\x0e\x64\x61taset_filter\x18\x04 \x01(\x0b\x32\".datacatalog.DatasetPropertyFilterH\x00R\rdatasetFilter\x12P\n\x08operator\x18\n \x01(\x0e\x32\x34.datacatalog.SinglePropertyFilter.ComparisonOperatorR\x08operator\" \n\x12\x43omparisonOperator\x12\n\n\x06\x45QUALS\x10\x00\x42\x11\n\x0fproperty_filter\"G\n\x16\x41rtifactPropertyFilter\x12!\n\x0b\x61rtifact_id\x18\x01 \x01(\tH\x00R\nartifactIdB\n\n\x08property\"<\n\x11TagPropertyFilter\x12\x1b\n\x08tag_name\x18\x01 \x01(\tH\x00R\x07tagNameB\n\n\x08property\"[\n\x17PartitionPropertyFilter\x12\x34\n\x07key_val\x18\x01 \x01(\x0b\x32\x19.datacatalog.KeyValuePairH\x00R\x06keyValB\n\n\x08property\"6\n\x0cKeyValuePair\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\"\x8b\x01\n\x15\x44\x61tasetPropertyFilter\x12\x1a\n\x07project\x18\x01 \x01(\tH\x00R\x07project\x12\x14\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x12\x18\n\x06\x64omain\x18\x03 \x01(\tH\x00R\x06\x64omain\x12\x1a\n\x07version\x18\x04 \x01(\tH\x00R\x07versionB\n\n\x08property\"\x93\x02\n\x11PaginationOptions\x12\x14\n\x05limit\x18\x01 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\x12@\n\x07sortKey\x18\x03 \x01(\x0e\x32&.datacatalog.PaginationOptions.SortKeyR\x07sortKey\x12\x46\n\tsortOrder\x18\x04 \x01(\x0e\x32(.datacatalog.PaginationOptions.SortOrderR\tsortOrder\"*\n\tSortOrder\x12\x0e\n\nDESCENDING\x10\x00\x12\r\n\tASCENDING\x10\x01\"\x1c\n\x07SortKey\x12\x11\n\rCREATION_TIME\x10\x00\x32\x86\x07\n\x0b\x44\x61taCatalog\x12V\n\rCreateDataset\x12!.datacatalog.CreateDatasetRequest\x1a\".datacatalog.CreateDatasetResponse\x12M\n\nGetDataset\x12\x1e.datacatalog.GetDatasetRequest\x1a\x1f.datacatalog.GetDatasetResponse\x12Y\n\x0e\x43reateArtifact\x12\".datacatalog.CreateArtifactRequest\x1a#.datacatalog.CreateArtifactResponse\x12P\n\x0bGetArtifact\x12\x1f.datacatalog.GetArtifactRequest\x1a .datacatalog.GetArtifactResponse\x12\x41\n\x06\x41\x64\x64Tag\x12\x1a.datacatalog.AddTagRequest\x1a\x1b.datacatalog.AddTagResponse\x12V\n\rListArtifacts\x12!.datacatalog.ListArtifactsRequest\x1a\".datacatalog.ListArtifactsResponse\x12S\n\x0cListDatasets\x12 .datacatalog.ListDatasetsRequest\x1a!.datacatalog.ListDatasetsResponse\x12Y\n\x0eUpdateArtifact\x12\".datacatalog.UpdateArtifactRequest\x1a#.datacatalog.UpdateArtifactResponse\x12q\n\x16GetOrExtendReservation\x12*.datacatalog.GetOrExtendReservationRequest\x1a+.datacatalog.GetOrExtendReservationResponse\x12\x65\n\x12ReleaseReservation\x12&.datacatalog.ReleaseReservationRequest\x1a\'.datacatalog.ReleaseReservationResponseB\xb2\x01\n\x0f\x63om.datacatalogB\x10\x44\x61tacatalogProtoP\x01ZAgithub.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/datacatalog\xa2\x02\x03\x44XX\xaa\x02\x0b\x44\x61tacatalog\xca\x02\x0b\x44\x61tacatalog\xe2\x02\x17\x44\x61tacatalog\\GPBMetadata\xea\x02\x0b\x44\x61tacatalogb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&flyteidl/datacatalog/datacatalog.proto\x12\x0b\x64\x61tacatalog\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"F\n\x14\x43reateDatasetRequest\x12.\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x14.datacatalog.DatasetR\x07\x64\x61taset\"\x17\n\x15\x43reateDatasetResponse\"E\n\x11GetDatasetRequest\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\"D\n\x12GetDatasetResponse\x12.\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x14.datacatalog.DatasetR\x07\x64\x61taset\"\x96\x01\n\x12GetArtifactRequest\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\x12!\n\x0b\x61rtifact_id\x18\x02 \x01(\tH\x00R\nartifactId\x12\x1b\n\x08tag_name\x18\x03 \x01(\tH\x00R\x07tagNameB\x0e\n\x0cquery_handle\"H\n\x13GetArtifactResponse\x12\x31\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32\x15.datacatalog.ArtifactR\x08\x61rtifact\"J\n\x15\x43reateArtifactRequest\x12\x31\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32\x15.datacatalog.ArtifactR\x08\x61rtifact\"\x18\n\x16\x43reateArtifactResponse\"3\n\rAddTagRequest\x12\"\n\x03tag\x18\x01 \x01(\x0b\x32\x10.datacatalog.TagR\x03tag\"\x10\n\x0e\x41\x64\x64TagResponse\"\xbf\x01\n\x14ListArtifactsRequest\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\x12\x35\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x1d.datacatalog.FilterExpressionR\x06\x66ilter\x12>\n\npagination\x18\x03 \x01(\x0b\x32\x1e.datacatalog.PaginationOptionsR\npagination\"k\n\x15ListArtifactsResponse\x12\x33\n\tartifacts\x18\x01 \x03(\x0b\x32\x15.datacatalog.ArtifactR\tartifacts\x12\x1d\n\nnext_token\x18\x02 \x01(\tR\tnextToken\"\x8c\x01\n\x13ListDatasetsRequest\x12\x35\n\x06\x66ilter\x18\x01 \x01(\x0b\x32\x1d.datacatalog.FilterExpressionR\x06\x66ilter\x12>\n\npagination\x18\x02 \x01(\x0b\x32\x1e.datacatalog.PaginationOptionsR\npagination\"g\n\x14ListDatasetsResponse\x12\x30\n\x08\x64\x61tasets\x18\x01 \x03(\x0b\x32\x14.datacatalog.DatasetR\x08\x64\x61tasets\x12\x1d\n\nnext_token\x18\x02 \x01(\tR\tnextToken\"\xfb\x01\n\x15UpdateArtifactRequest\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\x12!\n\x0b\x61rtifact_id\x18\x02 \x01(\tH\x00R\nartifactId\x12\x1b\n\x08tag_name\x18\x03 \x01(\tH\x00R\x07tagName\x12-\n\x04\x64\x61ta\x18\x04 \x03(\x0b\x32\x19.datacatalog.ArtifactDataR\x04\x64\x61ta\x12\x31\n\x08metadata\x18\x05 \x01(\x0b\x32\x15.datacatalog.MetadataR\x08metadataB\x0e\n\x0cquery_handle\"9\n\x16UpdateArtifactResponse\x12\x1f\n\x0b\x61rtifact_id\x18\x01 \x01(\tR\nartifactId\"a\n\rReservationID\x12\x35\n\ndataset_id\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\tdatasetId\x12\x19\n\x08tag_name\x18\x02 \x01(\tR\x07tagName\"\xc7\x01\n\x1dGetOrExtendReservationRequest\x12\x41\n\x0ereservation_id\x18\x01 \x01(\x0b\x32\x1a.datacatalog.ReservationIDR\rreservationId\x12\x19\n\x08owner_id\x18\x02 \x01(\tR\x07ownerId\x12H\n\x12heartbeat_interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x11heartbeatInterval\"\xa3\x02\n\x0bReservation\x12\x41\n\x0ereservation_id\x18\x01 \x01(\x0b\x32\x1a.datacatalog.ReservationIDR\rreservationId\x12\x19\n\x08owner_id\x18\x02 \x01(\tR\x07ownerId\x12H\n\x12heartbeat_interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x11heartbeatInterval\x12\x39\n\nexpires_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x31\n\x08metadata\x18\x06 \x01(\x0b\x32\x15.datacatalog.MetadataR\x08metadata\"\\\n\x1eGetOrExtendReservationResponse\x12:\n\x0breservation\x18\x01 \x01(\x0b\x32\x18.datacatalog.ReservationR\x0breservation\"y\n\x19ReleaseReservationRequest\x12\x41\n\x0ereservation_id\x18\x01 \x01(\x0b\x32\x1a.datacatalog.ReservationIDR\rreservationId\x12\x19\n\x08owner_id\x18\x02 \x01(\tR\x07ownerId\"\x1c\n\x1aReleaseReservationResponse\"\x8a\x01\n\x07\x44\x61taset\x12&\n\x02id\x18\x01 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x02id\x12\x31\n\x08metadata\x18\x02 \x01(\x0b\x32\x15.datacatalog.MetadataR\x08metadata\x12$\n\rpartitionKeys\x18\x03 \x03(\tR\rpartitionKeys\"3\n\tPartition\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\"\x7f\n\tDatasetID\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n\x06\x64omain\x18\x03 \x01(\tR\x06\x64omain\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version\x12\x12\n\x04UUID\x18\x05 \x01(\tR\x04UUID\"\xc7\x02\n\x08\x41rtifact\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x30\n\x07\x64\x61taset\x18\x02 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\x12-\n\x04\x64\x61ta\x18\x03 \x03(\x0b\x32\x19.datacatalog.ArtifactDataR\x04\x64\x61ta\x12\x31\n\x08metadata\x18\x04 \x01(\x0b\x32\x15.datacatalog.MetadataR\x08metadata\x12\x36\n\npartitions\x18\x05 \x03(\x0b\x32\x16.datacatalog.PartitionR\npartitions\x12$\n\x04tags\x18\x06 \x03(\x0b\x32\x10.datacatalog.TagR\x04tags\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\"P\n\x0c\x41rtifactData\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x16.flyteidl.core.LiteralR\x05value\"l\n\x03Tag\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0b\x61rtifact_id\x18\x02 \x01(\tR\nartifactId\x12\x30\n\x07\x64\x61taset\x18\x03 \x01(\x0b\x32\x16.datacatalog.DatasetIDR\x07\x64\x61taset\"\x81\x01\n\x08Metadata\x12:\n\x07key_map\x18\x01 \x03(\x0b\x32!.datacatalog.Metadata.KeyMapEntryR\x06keyMap\x1a\x39\n\x0bKeyMapEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"O\n\x10\x46ilterExpression\x12;\n\x07\x66ilters\x18\x01 \x03(\x0b\x32!.datacatalog.SinglePropertyFilterR\x07\x66ilters\"\xce\x03\n\x14SinglePropertyFilter\x12?\n\ntag_filter\x18\x01 \x01(\x0b\x32\x1e.datacatalog.TagPropertyFilterH\x00R\ttagFilter\x12Q\n\x10partition_filter\x18\x02 \x01(\x0b\x32$.datacatalog.PartitionPropertyFilterH\x00R\x0fpartitionFilter\x12N\n\x0f\x61rtifact_filter\x18\x03 \x01(\x0b\x32#.datacatalog.ArtifactPropertyFilterH\x00R\x0e\x61rtifactFilter\x12K\n\x0e\x64\x61taset_filter\x18\x04 \x01(\x0b\x32\".datacatalog.DatasetPropertyFilterH\x00R\rdatasetFilter\x12P\n\x08operator\x18\n \x01(\x0e\x32\x34.datacatalog.SinglePropertyFilter.ComparisonOperatorR\x08operator\" \n\x12\x43omparisonOperator\x12\n\n\x06\x45QUALS\x10\x00\x42\x11\n\x0fproperty_filter\"G\n\x16\x41rtifactPropertyFilter\x12!\n\x0b\x61rtifact_id\x18\x01 \x01(\tH\x00R\nartifactIdB\n\n\x08property\"<\n\x11TagPropertyFilter\x12\x1b\n\x08tag_name\x18\x01 \x01(\tH\x00R\x07tagNameB\n\n\x08property\"[\n\x17PartitionPropertyFilter\x12\x34\n\x07key_val\x18\x01 \x01(\x0b\x32\x19.datacatalog.KeyValuePairH\x00R\x06keyValB\n\n\x08property\"6\n\x0cKeyValuePair\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\"\x8b\x01\n\x15\x44\x61tasetPropertyFilter\x12\x1a\n\x07project\x18\x01 \x01(\tH\x00R\x07project\x12\x14\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x12\x18\n\x06\x64omain\x18\x03 \x01(\tH\x00R\x06\x64omain\x12\x1a\n\x07version\x18\x04 \x01(\tH\x00R\x07versionB\n\n\x08property\"\x93\x02\n\x11PaginationOptions\x12\x14\n\x05limit\x18\x01 \x01(\rR\x05limit\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\x12@\n\x07sortKey\x18\x03 \x01(\x0e\x32&.datacatalog.PaginationOptions.SortKeyR\x07sortKey\x12\x46\n\tsortOrder\x18\x04 \x01(\x0e\x32(.datacatalog.PaginationOptions.SortOrderR\tsortOrder\"*\n\tSortOrder\x12\x0e\n\nDESCENDING\x10\x00\x12\r\n\tASCENDING\x10\x01\"\x1c\n\x07SortKey\x12\x11\n\rCREATION_TIME\x10\x00\x32\x86\x07\n\x0b\x44\x61taCatalog\x12V\n\rCreateDataset\x12!.datacatalog.CreateDatasetRequest\x1a\".datacatalog.CreateDatasetResponse\x12M\n\nGetDataset\x12\x1e.datacatalog.GetDatasetRequest\x1a\x1f.datacatalog.GetDatasetResponse\x12Y\n\x0e\x43reateArtifact\x12\".datacatalog.CreateArtifactRequest\x1a#.datacatalog.CreateArtifactResponse\x12P\n\x0bGetArtifact\x12\x1f.datacatalog.GetArtifactRequest\x1a .datacatalog.GetArtifactResponse\x12\x41\n\x06\x41\x64\x64Tag\x12\x1a.datacatalog.AddTagRequest\x1a\x1b.datacatalog.AddTagResponse\x12V\n\rListArtifacts\x12!.datacatalog.ListArtifactsRequest\x1a\".datacatalog.ListArtifactsResponse\x12S\n\x0cListDatasets\x12 .datacatalog.ListDatasetsRequest\x1a!.datacatalog.ListDatasetsResponse\x12Y\n\x0eUpdateArtifact\x12\".datacatalog.UpdateArtifactRequest\x1a#.datacatalog.UpdateArtifactResponse\x12q\n\x16GetOrExtendReservation\x12*.datacatalog.GetOrExtendReservationRequest\x1a+.datacatalog.GetOrExtendReservationResponse\x12\x65\n\x12ReleaseReservation\x12&.datacatalog.ReleaseReservationRequest\x1a\'.datacatalog.ReleaseReservationResponseB\xb2\x01\n\x0f\x63om.datacatalogB\x10\x44\x61tacatalogProtoP\x01ZAgithub.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/datacatalog\xa2\x02\x03\x44XX\xaa\x02\x0b\x44\x61tacatalog\xca\x02\x0b\x44\x61tacatalog\xe2\x02\x17\x44\x61tacatalog\\GPBMetadata\xea\x02\x0b\x44\x61tacatalogb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -56,59 +56,59 @@ _globals['_LISTDATASETSRESPONSE']._serialized_start=1234 _globals['_LISTDATASETSRESPONSE']._serialized_end=1337 _globals['_UPDATEARTIFACTREQUEST']._serialized_start=1340 - _globals['_UPDATEARTIFACTREQUEST']._serialized_end=1540 - _globals['_UPDATEARTIFACTRESPONSE']._serialized_start=1542 - _globals['_UPDATEARTIFACTRESPONSE']._serialized_end=1599 - _globals['_RESERVATIONID']._serialized_start=1601 - _globals['_RESERVATIONID']._serialized_end=1698 - _globals['_GETOREXTENDRESERVATIONREQUEST']._serialized_start=1701 - _globals['_GETOREXTENDRESERVATIONREQUEST']._serialized_end=1900 - _globals['_RESERVATION']._serialized_start=1903 - _globals['_RESERVATION']._serialized_end=2194 - _globals['_GETOREXTENDRESERVATIONRESPONSE']._serialized_start=2196 - _globals['_GETOREXTENDRESERVATIONRESPONSE']._serialized_end=2288 - _globals['_RELEASERESERVATIONREQUEST']._serialized_start=2290 - _globals['_RELEASERESERVATIONREQUEST']._serialized_end=2411 - _globals['_RELEASERESERVATIONRESPONSE']._serialized_start=2413 - _globals['_RELEASERESERVATIONRESPONSE']._serialized_end=2441 - _globals['_DATASET']._serialized_start=2444 - _globals['_DATASET']._serialized_end=2582 - _globals['_PARTITION']._serialized_start=2584 - _globals['_PARTITION']._serialized_end=2635 - _globals['_DATASETID']._serialized_start=2637 - _globals['_DATASETID']._serialized_end=2764 - _globals['_ARTIFACT']._serialized_start=2767 - _globals['_ARTIFACT']._serialized_end=3094 - _globals['_ARTIFACTDATA']._serialized_start=3096 - _globals['_ARTIFACTDATA']._serialized_end=3176 - _globals['_TAG']._serialized_start=3178 - _globals['_TAG']._serialized_end=3286 - _globals['_METADATA']._serialized_start=3289 - _globals['_METADATA']._serialized_end=3418 - _globals['_METADATA_KEYMAPENTRY']._serialized_start=3361 - _globals['_METADATA_KEYMAPENTRY']._serialized_end=3418 - _globals['_FILTEREXPRESSION']._serialized_start=3420 - _globals['_FILTEREXPRESSION']._serialized_end=3499 - _globals['_SINGLEPROPERTYFILTER']._serialized_start=3502 - _globals['_SINGLEPROPERTYFILTER']._serialized_end=3964 - _globals['_SINGLEPROPERTYFILTER_COMPARISONOPERATOR']._serialized_start=3913 - _globals['_SINGLEPROPERTYFILTER_COMPARISONOPERATOR']._serialized_end=3945 - _globals['_ARTIFACTPROPERTYFILTER']._serialized_start=3966 - _globals['_ARTIFACTPROPERTYFILTER']._serialized_end=4037 - _globals['_TAGPROPERTYFILTER']._serialized_start=4039 - _globals['_TAGPROPERTYFILTER']._serialized_end=4099 - _globals['_PARTITIONPROPERTYFILTER']._serialized_start=4101 - _globals['_PARTITIONPROPERTYFILTER']._serialized_end=4192 - _globals['_KEYVALUEPAIR']._serialized_start=4194 - _globals['_KEYVALUEPAIR']._serialized_end=4248 - _globals['_DATASETPROPERTYFILTER']._serialized_start=4251 - _globals['_DATASETPROPERTYFILTER']._serialized_end=4390 - _globals['_PAGINATIONOPTIONS']._serialized_start=4393 - _globals['_PAGINATIONOPTIONS']._serialized_end=4668 - _globals['_PAGINATIONOPTIONS_SORTORDER']._serialized_start=4596 - _globals['_PAGINATIONOPTIONS_SORTORDER']._serialized_end=4638 - _globals['_PAGINATIONOPTIONS_SORTKEY']._serialized_start=4640 - _globals['_PAGINATIONOPTIONS_SORTKEY']._serialized_end=4668 - _globals['_DATACATALOG']._serialized_start=4671 - _globals['_DATACATALOG']._serialized_end=5573 + _globals['_UPDATEARTIFACTREQUEST']._serialized_end=1591 + _globals['_UPDATEARTIFACTRESPONSE']._serialized_start=1593 + _globals['_UPDATEARTIFACTRESPONSE']._serialized_end=1650 + _globals['_RESERVATIONID']._serialized_start=1652 + _globals['_RESERVATIONID']._serialized_end=1749 + _globals['_GETOREXTENDRESERVATIONREQUEST']._serialized_start=1752 + _globals['_GETOREXTENDRESERVATIONREQUEST']._serialized_end=1951 + _globals['_RESERVATION']._serialized_start=1954 + _globals['_RESERVATION']._serialized_end=2245 + _globals['_GETOREXTENDRESERVATIONRESPONSE']._serialized_start=2247 + _globals['_GETOREXTENDRESERVATIONRESPONSE']._serialized_end=2339 + _globals['_RELEASERESERVATIONREQUEST']._serialized_start=2341 + _globals['_RELEASERESERVATIONREQUEST']._serialized_end=2462 + _globals['_RELEASERESERVATIONRESPONSE']._serialized_start=2464 + _globals['_RELEASERESERVATIONRESPONSE']._serialized_end=2492 + _globals['_DATASET']._serialized_start=2495 + _globals['_DATASET']._serialized_end=2633 + _globals['_PARTITION']._serialized_start=2635 + _globals['_PARTITION']._serialized_end=2686 + _globals['_DATASETID']._serialized_start=2688 + _globals['_DATASETID']._serialized_end=2815 + _globals['_ARTIFACT']._serialized_start=2818 + _globals['_ARTIFACT']._serialized_end=3145 + _globals['_ARTIFACTDATA']._serialized_start=3147 + _globals['_ARTIFACTDATA']._serialized_end=3227 + _globals['_TAG']._serialized_start=3229 + _globals['_TAG']._serialized_end=3337 + _globals['_METADATA']._serialized_start=3340 + _globals['_METADATA']._serialized_end=3469 + _globals['_METADATA_KEYMAPENTRY']._serialized_start=3412 + _globals['_METADATA_KEYMAPENTRY']._serialized_end=3469 + _globals['_FILTEREXPRESSION']._serialized_start=3471 + _globals['_FILTEREXPRESSION']._serialized_end=3550 + _globals['_SINGLEPROPERTYFILTER']._serialized_start=3553 + _globals['_SINGLEPROPERTYFILTER']._serialized_end=4015 + _globals['_SINGLEPROPERTYFILTER_COMPARISONOPERATOR']._serialized_start=3964 + _globals['_SINGLEPROPERTYFILTER_COMPARISONOPERATOR']._serialized_end=3996 + _globals['_ARTIFACTPROPERTYFILTER']._serialized_start=4017 + _globals['_ARTIFACTPROPERTYFILTER']._serialized_end=4088 + _globals['_TAGPROPERTYFILTER']._serialized_start=4090 + _globals['_TAGPROPERTYFILTER']._serialized_end=4150 + _globals['_PARTITIONPROPERTYFILTER']._serialized_start=4152 + _globals['_PARTITIONPROPERTYFILTER']._serialized_end=4243 + _globals['_KEYVALUEPAIR']._serialized_start=4245 + _globals['_KEYVALUEPAIR']._serialized_end=4299 + _globals['_DATASETPROPERTYFILTER']._serialized_start=4302 + _globals['_DATASETPROPERTYFILTER']._serialized_end=4441 + _globals['_PAGINATIONOPTIONS']._serialized_start=4444 + _globals['_PAGINATIONOPTIONS']._serialized_end=4719 + _globals['_PAGINATIONOPTIONS_SORTORDER']._serialized_start=4647 + _globals['_PAGINATIONOPTIONS_SORTORDER']._serialized_end=4689 + _globals['_PAGINATIONOPTIONS_SORTKEY']._serialized_start=4691 + _globals['_PAGINATIONOPTIONS_SORTKEY']._serialized_end=4719 + _globals['_DATACATALOG']._serialized_start=4722 + _globals['_DATACATALOG']._serialized_end=5624 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/datacatalog/datacatalog_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/datacatalog/datacatalog_pb2.pyi index 1e98a1489c..94cd96797b 100644 --- a/flyteidl/gen/pb_python/flyteidl/datacatalog/datacatalog_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/datacatalog/datacatalog_pb2.pyi @@ -102,16 +102,18 @@ class ListDatasetsResponse(_message.Message): def __init__(self, datasets: _Optional[_Iterable[_Union[Dataset, _Mapping]]] = ..., next_token: _Optional[str] = ...) -> None: ... class UpdateArtifactRequest(_message.Message): - __slots__ = ["dataset", "artifact_id", "tag_name", "data"] + __slots__ = ["dataset", "artifact_id", "tag_name", "data", "metadata"] DATASET_FIELD_NUMBER: _ClassVar[int] ARTIFACT_ID_FIELD_NUMBER: _ClassVar[int] TAG_NAME_FIELD_NUMBER: _ClassVar[int] DATA_FIELD_NUMBER: _ClassVar[int] + METADATA_FIELD_NUMBER: _ClassVar[int] dataset: DatasetID artifact_id: str tag_name: str data: _containers.RepeatedCompositeFieldContainer[ArtifactData] - def __init__(self, dataset: _Optional[_Union[DatasetID, _Mapping]] = ..., artifact_id: _Optional[str] = ..., tag_name: _Optional[str] = ..., data: _Optional[_Iterable[_Union[ArtifactData, _Mapping]]] = ...) -> None: ... + metadata: Metadata + def __init__(self, dataset: _Optional[_Union[DatasetID, _Mapping]] = ..., artifact_id: _Optional[str] = ..., tag_name: _Optional[str] = ..., data: _Optional[_Iterable[_Union[ArtifactData, _Mapping]]] = ..., metadata: _Optional[_Union[Metadata, _Mapping]] = ...) -> None: ... class UpdateArtifactResponse(_message.Message): __slots__ = ["artifact_id"] diff --git a/flyteidl/gen/pb_rust/datacatalog.rs b/flyteidl/gen/pb_rust/datacatalog.rs index 383db44fe3..159e620ca0 100644 --- a/flyteidl/gen/pb_rust/datacatalog.rs +++ b/flyteidl/gen/pb_rust/datacatalog.rs @@ -150,6 +150,9 @@ pub struct UpdateArtifactRequest { /// ArtifactData entries will be removed from the underlying blob storage and database. #[prost(message, repeated, tag="4")] pub data: ::prost::alloc::vec::Vec, + /// Update task execution metadata when overwriting cache + #[prost(message, optional, tag="5")] + pub metadata: ::core::option::Option, /// Either ID of artifact or name of tag to retrieve existing artifact from #[prost(oneof="update_artifact_request::QueryHandle", tags="2, 3")] pub query_handle: ::core::option::Option, diff --git a/flyteidl/protos/flyteidl/datacatalog/datacatalog.proto b/flyteidl/protos/flyteidl/datacatalog/datacatalog.proto index 795e70ff80..1ddac9fccf 100644 --- a/flyteidl/protos/flyteidl/datacatalog/datacatalog.proto +++ b/flyteidl/protos/flyteidl/datacatalog/datacatalog.proto @@ -189,6 +189,9 @@ message UpdateArtifactRequest { // List of data to overwrite stored artifact data with. Must contain ALL data for updated Artifact as any missing // ArtifactData entries will be removed from the underlying blob storage and database. repeated ArtifactData data = 4; + + // Update execution metadata(including execution domain, name, node, project data) when overwriting cache + Metadata metadata = 5; } /* diff --git a/flytepropeller/pkg/controller/nodes/cache.go b/flytepropeller/pkg/controller/nodes/cache.go index 136d070de4..5d4c8455a5 100644 --- a/flytepropeller/pkg/controller/nodes/cache.go +++ b/flytepropeller/pkg/controller/nodes/cache.go @@ -217,7 +217,12 @@ func (n *nodeExecutor) WriteCatalogCache(ctx context.Context, nCtx interfaces.No } // ignores discovery write failures - status, err := n.catalog.Put(ctx, catalogKey, outputReader, metadata) + var status catalog.Status + if nCtx.ExecutionContext().GetExecutionConfig().OverwriteCache { + status, err = n.catalog.Update(ctx, catalogKey, outputReader, metadata) + } else { + status, err = n.catalog.Put(ctx, catalogKey, outputReader, metadata) + } if err != nil { n.metrics.catalogPutFailureCount.Inc(ctx) logger.Errorf(ctx, "Failed to write results to catalog for Task [%v]. Error: %v", catalogKey.Identifier, err) diff --git a/flytepropeller/pkg/controller/nodes/cache_test.go b/flytepropeller/pkg/controller/nodes/cache_test.go index b0c0a3a351..1f2c615af2 100644 --- a/flytepropeller/pkg/controller/nodes/cache_test.go +++ b/flytepropeller/pkg/controller/nodes/cache_test.go @@ -62,6 +62,7 @@ func setupCacheableNodeExecutionContext(dataStore *storage.DataStore, taskTempla mockExecutionContext := &executorsmocks.ExecutionContext{} mockExecutionContext.OnGetParentInfoMatch(mock.Anything).Return(mockParentInfo) + mockExecutionContext.OnGetExecutionConfigMatch().Return(v1alpha1.ExecutionConfig{}) mockNodeExecutionMetadata := &interfacesmocks.NodeExecutionMetadata{} mockNodeExecutionMetadata.OnGetOwnerID().Return( diff --git a/flytepropeller/pkg/controller/nodes/catalog/datacatalog/datacatalog.go b/flytepropeller/pkg/controller/nodes/catalog/datacatalog/datacatalog.go index 3d849329be..b3db72d129 100644 --- a/flytepropeller/pkg/controller/nodes/catalog/datacatalog/datacatalog.go +++ b/flytepropeller/pkg/controller/nodes/catalog/datacatalog/datacatalog.go @@ -286,6 +286,7 @@ func (m *CatalogClient) UpdateArtifact(ctx context.Context, key catalog.Key, dat Dataset: datasetID, QueryHandle: &datacatalog.UpdateArtifactRequest_TagName{TagName: tagName}, Data: artifactDataList, + Metadata: GetArtifactMetadataForSource(metadata.TaskExecutionIdentifier), } resp, err := m.client.UpdateArtifact(ctx, updateArtifactRequest) if err != nil {