Marton Greber has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21823 )

Change subject: KUDU-3608: REST API for Metadata Management
......................................................................


Patch Set 31:

(8 comments)

http://gerrit.cloudera.org:8080/#/c/21823/30/src/kudu/master/rest_catalog-test.cc
File src/kudu/master/rest_catalog-test.cc:

http://gerrit.cloudera.org:8080/#/c/21823/30/src/kudu/master/rest_catalog-test.cc@198
PS30, Line 198:   c.set_verbose(true);
do we need this line?


http://gerrit.cloudera.org:8080/#/c/21823/30/src/kudu/master/rest_catalog-test.cc@211
PS30, Line 211:   c.set_verbose(true);
do we need this line?


http://gerrit.cloudera.org:8080/#/c/21823/31/src/kudu/master/rest_catalog-test.cc
File src/kudu/master/rest_catalog-test.cc:

http://gerrit.cloudera.org:8080/#/c/21823/31/src/kudu/master/rest_catalog-test.cc@173
PS31, Line 173: string partition_schema =
              :       (first_column_id == 0) ? 
kTablePartitionSchemaColumnIdZero : kTablePartitionSchema;
nit: can you please add a small comment here?
In DEBUG builds, column id starts from 10 while in RELEASE builds it starts 
from 0.


http://gerrit.cloudera.org:8080/#/c/21823/31/src/kudu/master/rest_catalog-test.cc@256
PS31, Line 256:   ASSERT_STR_CONTAINS(s.ToString(), "HTTP 411");
nit: maybe assert the error message? Curious if we return reasonable error 
message in this case.


http://gerrit.cloudera.org:8080/#/c/21823/31/src/kudu/master/rest_catalog_path_handlers.cc
File src/kudu/master/rest_catalog_path_handlers.cc:

http://gerrit.cloudera.org:8080/#/c/21823/31/src/kudu/master/rest_catalog_path_handlers.cc@86
PS31, Line 86:     RETURN_JSON_ERROR(jw, "Invalid table ID", resp->status_code, 
HttpStatusCode::BadRequest);
nit: maybe add more error message detail?
"Invalid table ID: must be exactly 32 characters long."


http://gerrit.cloudera.org:8080/#/c/21823/31/src/kudu/master/rest_catalog_test_base.h
File src/kudu/master/rest_catalog_test_base.h:

http://gerrit.cloudera.org:8080/#/c/21823/31/src/kudu/master/rest_catalog_test_base.h@79
PS31, Line 79: std::string GetTableId(const std::string& table_name) {
             :     kudu::client::sp::shared_ptr<kudu::client::KuduTable> table;
             :     kudu::Status s = client_->OpenTable(table_name, &table);
             :     if (!s.ok()) {
             :       LOG(ERROR) << "OpenTable failed: " << s.ToString();
             :       return "";
             :     }
             :     return table->id();
             :   }
please refactor this to return a status, and provide the table id as an 
out-parameter.


http://gerrit.cloudera.org:8080/#/c/21823/30/src/kudu/master/rest_catalog_test_base.h
File src/kudu/master/rest_catalog_test_base.h:

http://gerrit.cloudera.org:8080/#/c/21823/30/src/kudu/master/rest_catalog_test_base.h@51
PS30, Line 51: std::string kTableName = "test_table";
make this a class member field, such that else in the tests you dont have to 
refer to this table by typing "test_table" rather than kTableName


http://gerrit.cloudera.org:8080/#/c/21823/31/src/kudu/master/spnego_rest_catalog-test.cc
File src/kudu/master/spnego_rest_catalog-test.cc:

http://gerrit.cloudera.org:8080/#/c/21823/31/src/kudu/master/spnego_rest_catalog-test.cc@205
PS31, Line 205: TEST_F(SpnegoRestCatalogTest, TestInvalidHeaders) {
              :   ASSERT_OK(CreateTestTable());
              :   string table_id = GetTableId("test_table");
              :   EasyCurl c;
              :   faststring buf;
              :   Status s = c.FetchURL(
              :       Substitute("http://$0/api/v1/tables";, 
cluster_->mini_master()->bound_http_addr().ToString()),
              :       &buf,
              :       {"Authorization: I am an invalid header"});
              :   ASSERT_STR_CONTAINS(s.ToString(), "HTTP 500");
              :   s = c.FetchURL(Substitute("http://$0/api/v1/tables/$1";,
              :                             
cluster_->mini_master()->bound_http_addr().ToString(),
              :                             table_id),
              :                  &buf,
              :                  {"Authorization: I am an invalid header"});
              :   ASSERT_STR_CONTAINS(s.ToString(), "HTTP 500");
              :   s = c.FetchURL(
              :       Substitute("http://$0/api/v1/tables";, 
cluster_->mini_master()->bound_http_addr().ToString()),
              :       &buf,
              :       {"Authorization: Negotiate I am also an invalid header"});
              :   ASSERT_STR_CONTAINS(s.ToString(), "HTTP 401");
              : }
IMO is enough to use one endpoint and have one HTTP 500 and one HTTP 401 test 
in there.



--
To view, visit http://gerrit.cloudera.org:8080/21823
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I67f964c4f950edfde31772cafd5c3ed5d6b87413
Gerrit-Change-Number: 21823
Gerrit-PatchSet: 31
Gerrit-Owner: Gabriella Lotz <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Gabriella Lotz <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <[email protected]>
Gerrit-Reviewer: Zoltan Chovan <[email protected]>
Gerrit-Comment-Date: Mon, 24 Mar 2025 17:09:56 +0000
Gerrit-HasComments: Yes

Reply via email to