Skip to content

Commit

Permalink
change a little how feature flags are returned (ydb-platform#8434)
Browse files Browse the repository at this point in the history
  • Loading branch information
adameat committed Oct 1, 2024
1 parent 1886a00 commit b81f58b
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 7 deletions.
2 changes: 1 addition & 1 deletion ydb/core/viewer/json_handlers_viewer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ void InitViewerCheckAccessJsonHandler(TJsonHandlers& jsonHandlers) {
}

void InitViewerFeatureFlagsJsonHandler(TJsonHandlers& handlers) {
handlers.AddHandler("/viewer/feature_flags", new TJsonHandler<TJsonFeatureFlags>(TJsonFeatureFlags::GetSwagger()));
handlers.AddHandler("/viewer/feature_flags", new TJsonHandler<TJsonFeatureFlags>(TJsonFeatureFlags::GetSwagger()), 2);
}

void InitViewerJsonHandlers(TJsonHandlers& jsonHandlers) {
Expand Down
4 changes: 2 additions & 2 deletions ydb/core/viewer/protos/viewer.proto
Original file line number Diff line number Diff line change
Expand Up @@ -748,8 +748,8 @@ message TPDiskInfo {
message TFeatureFlagsConfig {
message TFeatureFlag {
string Name = 1;
bool Enabled = 2;
bool IsDefault = 3;
bool Current = 2;
bool Default = 3;
}

message TDatabase {
Expand Down
12 changes: 8 additions & 4 deletions ydb/core/viewer/viewer_feature_flags.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ class TJsonFeatureFlags : public TViewerPipeClient {
auto* domain = domains->GetDomain();
DomainPath = "/" + domain->Name;

Direct |= Event->Get()->Request.GetUri().StartsWith("/node/"); // we're already forwarding
Direct |= !TBase::Event->Get()->Request.GetHeader("X-Forwarded-From-Node").empty(); // we're already forwarding
Direct |= (FilterDatabase == AppData()->TenantName); // we're already on the right node
if (FilterDatabase && !Direct) {
RequestStateStorageEndpointsLookup(FilterDatabase); // to find some dynamic node and redirect there
Expand Down Expand Up @@ -100,8 +100,12 @@ class TJsonFeatureFlags : public TViewerPipeClient {
if (field->cpp_type() == google::protobuf::FieldDescriptor::CPPTYPE_BOOL) {
auto& feat = features[field->name()];
feat.SetName(field->name());
feat.SetEnabled(reflection->GetBool(featureFlags, field));
feat.SetIsDefault(field->default_value_bool());
if (reflection->HasField(featureFlags, field)) {
feat.SetCurrent(reflection->GetBool(featureFlags, field));
}
if (field->has_default_value()) {
feat.SetDefault(field->default_value_bool());
}
}
}
return features;
Expand All @@ -121,7 +125,7 @@ class TJsonFeatureFlags : public TViewerPipeClient {

// prepare response
NKikimrViewer::TFeatureFlagsConfig Result;
Result.SetVersion(1);
Result.SetVersion(Viewer->GetCapabilityVersion("/viewer/feature_flags"));
for (const auto& [database, features] : FeatureFlagsByDatabase) {
auto databaseProto = Result.AddDatabases();
databaseProto->SetName(database);
Expand Down

0 comments on commit b81f58b

Please sign in to comment.