[ 
https://issues.apache.org/jira/browse/KUDU-3639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17914598#comment-17914598
 ] 

Gabriella Lotz commented on KUDU-3639:
--------------------------------------

Since the REST API context doesn't have an {{{}RpcContext{}}}, I propose using 
a default value for the client deadline. Specifically, we can use 
{{MonoTime::Max()}} as the default, which represents no specific client 
deadline and aligns with the behavior when the client does not explicitly set 
one.
{code:java}
// Return an upper bound on the client timeout deadline. This does not
// account for transmission delays between the client and the server.
// If the client did not specify a deadline, returns MonoTime::Max().
MonoTime GetClientDeadline() const {
  return deadline_;
}{code}
Let me know if you foresee any issues with this approach or have alternative 
suggestions.

> Implement {Delete/Alter/Create}Table Functions Without RpcContext
> -----------------------------------------------------------------
>
>                 Key: KUDU-3639
>                 URL: https://issues.apache.org/jira/browse/KUDU-3639
>             Project: Kudu
>          Issue Type: New Feature
>            Reporter: Gabriella Lotz
>            Assignee: Gabriella Lotz
>            Priority: Major
>
> The CatalogManager::\{DeleteTableRpc, CreateTable, AlterTableRpc} functions 
> currently rely on rpc::RpcContext to extract the username of the requestor 
> for authorization. However, in the REST catalog API implementation, 
> RpcContext is not used, and only the username is directly available.
> To support REST API functionality, new functions are required that replace 
> RpcContext with an explicitly provided username while maintaining the same 
> core logic for table operations.
> Requirements:
>  * Create new functions:
>  ** CatalogManager::DeleteTableWithUser
>  ** CatalogManager::AlterTableWithUser
>  ** CatalogManager::CreateTableWithUser
>  * These functions should:
>  ** Accept a username parameter instead of rpc::RpcContext.
>  ** Implement the same authorization, logging, and HMS integration logic as 
> their corresponding RPC versions (DeleteTableRpc, AlterTableRpc, and 
> CreateTable).
>  ** Refactor shared logic between the existing RPC functions and the new 
> \{Delete/Alter/Create}TableWithUser functions into reusable helper functions 
> to minimize code duplication.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to