You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@quickstep.apache.org by "Zuyu Zhang (JIRA)" <ji...@apache.org> on 2016/12/04 23:27:58 UTC

[jira] [Closed] (QUICKSTEP-42) Separating WorkOrder proto messages in individual files

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

Zuyu Zhang closed QUICKSTEP-42.
-------------------------------
    Resolution: Won't Fix

We could keep the messages and enum in the alphabetic order, while having a comment to indicate the value of the next tag. See below for an example.

// Next tag: 22.
enum WorkOrderType {
  AGGREGATION = 1;
  BUILD_HASH = 2;
  CREATE_INDEX = 3;  // Placeholder.
  CREATE_TABLE = 4;  // Placeholder.
  DELETE = 5;
  DESTROY_AGGREGATION_STATE = 21;
  DESTROY_HASH = 6;
  DROP_TABLE = 7;
  FINALIZE_AGGREGATION = 8;
  HASH_JOIN = 9;
  INSERT = 10;
  NESTED_LOOP_JOIN = 11;
  SAMPLE = 12;
  SAVE_BLOCKS = 13;
  SELECT = 14;
  SORT_MERGE_RUN = 15;
  SORT_RUN_GENERATION = 16;
  TABLE_GENERATOR = 17;
  TEXT_SCAN = 18;
  UPDATE = 19;
  WINDOW_AGGREGATION = 20;
}

> Separating WorkOrder proto messages in individual files
> -------------------------------------------------------
>
>                 Key: QUICKSTEP-42
>                 URL: https://issues.apache.org/jira/browse/QUICKSTEP-42
>             Project: Apache Quickstep
>          Issue Type: Improvement
>          Components: Relational Operators
>            Reporter: Harshad Deshmukh
>            Assignee: Zuyu Zhang
>
> Background: The protocol buffer representation of WorkOrder messages are stored in a single file (relational_operators/WorkOrder.proto). The file contains the message types for every WorkOrder types, which consists of the serializable parameters from the WorkOrder class. Each such parameter has been assigned a unique integer. At the time of filing this issue there are 338 such parameters in the entire file. 
> Issue: To add a single field in a message type, in the first WorkOrder class message, a developer has to renumber (in the worst case) 338 such parameters. This is a major annoyance from the development point of view. 
> Possible fixes:
> 1. I am not quite familiar with protobuf, so I am not sure about this option. Is the numbering of the members necessary? If not, removing the integers assigned to each parameter should be the best option.
> 2. Removing global ordering of integers. The parameters within each message type has its local numbering, which is independent of the global numbering. Again, I am not sure if this is viable.
> 3. Moving each message type to its own file, thereby eliminating the need of a global numbering scheme.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)