Skip to content

feat(bigtable): Allow configuring multicluster routing and isolation#11980

Merged
bhshkh merged 4 commits into
googleapis:mainfrom
bhshkh:feature/cbt-app-profile
Apr 15, 2025
Merged

feat(bigtable): Allow configuring multicluster routing and isolation#11980
bhshkh merged 4 commits into
googleapis:mainfrom
bhshkh:feature/cbt-app-profile

Conversation

@bhshkh

@bhshkh bhshkh commented Apr 14, 2025

Copy link
Copy Markdown
Contributor

b/410568914

RoutingPolicy and Isolation fields in AppProfile

// The routing policy for all read/write requests that use this app profile.
// A value must be explicitly set.
//
// Types that are assignable to RoutingPolicy:
//
// *AppProfile_MultiClusterRoutingUseAny_
// *AppProfile_SingleClusterRouting_
RoutingPolicy isAppProfile_RoutingPolicy `protobuf_oneof:"routing_policy"`
// Options for isolating this app profile's traffic from other use cases.
//
// Types that are assignable to Isolation:
//
// *AppProfile_Priority_
// *AppProfile_StandardIsolation_
// *AppProfile_DataBoostIsolationReadOnly_
Isolation isAppProfile_Isolation `protobuf_oneof:"isolation"`

MultiClusterRoutingUseAny and SingleClusterRouting

type isAppProfile_RoutingPolicy interface {
isAppProfile_RoutingPolicy()
}
type AppProfile_MultiClusterRoutingUseAny_ struct {
// Use a multi-cluster routing policy.
MultiClusterRoutingUseAny *AppProfile_MultiClusterRoutingUseAny `protobuf:"bytes,5,opt,name=multi_cluster_routing_use_any,json=multiClusterRoutingUseAny,proto3,oneof"`
}
type AppProfile_SingleClusterRouting_ struct {
// Use a single-cluster routing policy.
SingleClusterRouting *AppProfile_SingleClusterRouting `protobuf:"bytes,6,opt,name=single_cluster_routing,json=singleClusterRouting,proto3,oneof"`
}
func (*AppProfile_MultiClusterRoutingUseAny_) isAppProfile_RoutingPolicy() {}
func (*AppProfile_SingleClusterRouting_) isAppProfile_RoutingPolicy() {}

  • Earlier fields RoutingPolicy, ClusterID and AllowTransactionalWrites need to be deprecated since it did not allow specifying clusterIDs for multi-cluster routing
  • Adding isolation fields

@bhshkh bhshkh requested review from a team April 14, 2025 16:43
@product-auto-label product-auto-label Bot added the api: bigtable Issues related to the Bigtable API. label Apr 14, 2025
@bhshkh bhshkh requested review from gkevinzheng and hongalex April 14, 2025 16:51
Comment thread bigtable/admin.go Outdated
Comment thread bigtable/admin.go
Comment thread bigtable/admin.go
Comment thread bigtable/admin.go
@bhshkh bhshkh requested a review from andre-sampaio April 14, 2025 21:08
@bhshkh bhshkh enabled auto-merge (squash) April 15, 2025 15:23
@bhshkh bhshkh merged commit 19e2837 into googleapis:main Apr 15, 2025
@bhshkh bhshkh deleted the feature/cbt-app-profile branch April 15, 2025 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: bigtable Issues related to the Bigtable API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants