[ 
https://issues.apache.org/jira/browse/HDDS-9373?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated HDDS-9373:
---------------------------------
    Labels: blackbird pull-request-available  (was: blackbird)

> Optimize listKeysLight API further by efficient server-side proto field 
> population
> ----------------------------------------------------------------------------------
>
>                 Key: HDDS-9373
>                 URL: https://issues.apache.org/jira/browse/HDDS-9373
>             Project: Apache Ozone
>          Issue Type: Improvement
>          Components: OM, Ozone Client
>            Reporter: Tanvi Penumudy
>            Assignee: Tanvi Penumudy
>            Priority: Major
>              Labels: blackbird, pull-request-available
>
> We have introduced a newer lightweight listKeys API - HDDS-9079. Implement a 
> lightweight listKeys API (PR 
> [#5115|https://github.com/apache/ozone/pull/5115]) which utilizes a trimmed 
> {{KeyInfo}} ({{{}BasicKeyInfo{}}}) proto object for excluding fields such as 
> {{KeyLocations}} which are not very useful on the client side utilizing the 
> server-side Ozone key encapsulations and proto messages newly introduced as 
> part of HDDS-9079:
> {code:java}
> message BasicKeyInfo {
>     optional string keyName = 1;
>     optional uint64 dataSize = 2;
>     optional uint64 creationTime = 3;
>     optional uint64 modificationTime = 4;
>     optional hadoop.hdds.ReplicationType type = 5;
>     optional hadoop.hdds.ReplicationFactor factor = 6;
>     optional hadoop.hdds.ECReplicationConfig ecReplicationConfig = 7;
> }
> {code}
> The main objective is to be able to skip the deserialization of metadata 
> specific to block information, etc for reducing the performance overhead for 
> listing keys.
> {code:java}
>     optional uint64 modificationTime = 4;
>     optional hadoop.hdds.ReplicationType type = 5;
>     optional hadoop.hdds.ReplicationFactor factor = 6;
>     optional hadoop.hdds.ECReplicationConfig ecReplicationConfig = 7;
> {code}
> We can improve the performance further by populating the above fields 
> server-side only if the key's config differs from that of its bucket's 
> config. This should reduce the payload and processing server-side unless the 
> key is replicated in a config different from that of its bucket's default.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to