mqliang commented on pull request #6710:
URL: https://github.com/apache/incubator-pinot/pull/6710#issuecomment-806232651


   @mcvsubbu Ready for another round of review. 
   
   commit of "implement datatable V3":
   
   * Add DataTableImplV3, compared with V2:
       * V3 has a trailer section, at the end of datatable
       * V3 don't have metadata sections, all KV pairs are put into trailer 
section
       * V3 has an exceptions section in the middle of datatable. V2 use meta 
data to store exceptions (use 
         `"Exception"+errCode` as key). In V3, all key are enum value, which 
must be defined statically, we can not use  
         `"Exception"+errCode` to create new keys, so use a dedicate section to 
store exceptions
    
   * Although metadata section has been removed in V3, there are many existing 
code use `dataTable.getMetadata().get("key")/dataTable.getMetadata().set("key", 
"value")` to set/get metadata KV pairs, to provide the same interface with V2, 
V3 also implement the `getMetadata()` method. When serialize, move all metadata 
into trailer section; when deserialize, move all metadata KV pair trailer 
section to matedata map.
   * When serialize the trailer section, for each KV pairs:
      *  if value is int/long, encode it as: [keyOrdinal, 
bigEndianRepresentationOfValue]
      *  if value is string, encode it as: [keyOrdinal, valueLength, 
Utf8EncodedValue]
     
   To make review easier, will @you at where V3 is different with V2.
   
   commit of "add responseSerializationCpuTimeNs measurement":
      * put a temporary value of serialization_cost when serialization, after 
serialization is done, replace it as the actual value.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to