Avro
  1. Avro
  2. AVRO-372

Rename genavro to something like AvroIDL

    Details

    • Type: Task Task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.4.0
    • Component/s: java
    • Labels:
      None
    • Hadoop Flags:
      Incompatible change

      Description

      No one likes the name genavro. Let's rename to one of these:

      • AvroIDL (Interface Description Language)
      • AvroHDL (Highlevel Description Language)
      • AvroDL (Description Language)

      The abbreviation IDL might conjure up CORBA nightmares for people. Thoughts?

      1. AVRO-372.patch
        21 kB
        Doug Cutting
      2. AVRO-372.patch
        100 kB
        Doug Cutting
      3. AVRO-372.sh
        0.8 kB
        Doug Cutting

        Activity

        Hide
        Todd Lipcon added a comment -

        Eli suggests that, if this is the language we expect most people will write their schemata in, we should just call it Avro Schema Language.

        Show
        Todd Lipcon added a comment - Eli suggests that, if this is the language we expect most people will write their schemata in, we should just call it Avro Schema Language.
        Hide
        Doug Cutting added a comment -

        The Avro schema language is JSON, so I don't like that. AvroHL (high level)? Avro++?

        Show
        Doug Cutting added a comment - The Avro schema language is JSON, so I don't like that. AvroHL (high level)? Avro++?
        Hide
        Thiruvalluvan M. G. added a comment -

        To me, AvroDL seems most appropriate. Since it doesn't describe an interface (to which we usually associate behavior), IDL doesn't seem right.

        Show
        Thiruvalluvan M. G. added a comment - To me, AvroDL seems most appropriate. Since it doesn't describe an interface (to which we usually associate behavior), IDL doesn't seem right.
        Hide
        Doug Cutting added a comment -

        > Since it doesn't describe an interface (to which we usually associate behavior), IDL doesn't seem right.

        It does define an interface: it's an alternate syntax for an Avro RPC protocol.

        It would be gppd to do this for 1.4. My preference is AvroIDL. Unless someone objects, I'll start work on this soon.

        Show
        Doug Cutting added a comment - > Since it doesn't describe an interface (to which we usually associate behavior), IDL doesn't seem right. It does define an interface: it's an alternate syntax for an Avro RPC protocol. It would be gppd to do this for 1.4. My preference is AvroIDL. Unless someone objects, I'll start work on this soon.
        Hide
        ryan rawson added a comment -

        +1 on AvroIDL. Reviewing the Avro for HBase code, it was very illustrative to review the .genavro and ignore the .avpc code completely.

        Show
        ryan rawson added a comment - +1 on AvroIDL. Reviewing the Avro for HBase code, it was very illustrative to review the .genavro and ignore the .avpc code completely.
        Hide
        Scott Carey added a comment -

        +1 to AvroDL.

        Although it is used now to define an interface, it also describes other things – avro schemas and relationships between them. In the future, its role may expand more and then "interface" would become more a misnomer.

        Its future includes "schema management" – types shared across schemas/interfaces for example. But Avro Management Language sounds bad to me.

        AvroDL is generic. It could be abbreviated ADL. To me "interface" just feels like extra baggage.

        Show
        Scott Carey added a comment - +1 to AvroDL. Although it is used now to define an interface, it also describes other things – avro schemas and relationships between them. In the future, its role may expand more and then "interface" would become more a misnomer. Its future includes "schema management" – types shared across schemas/interfaces for example. But Avro Management Language sounds bad to me. AvroDL is generic. It could be abbreviated ADL. To me "interface" just feels like extra baggage.
        Hide
        Doug Cutting added a comment -

        I still prefer IDL, because it's a well-known term whose meaning matches what GenAvro does:

        http://en.wikipedia.org/wiki/Interface_description_language

        One can indeed specify no messages in a protocol and use GenAvro to generate a set of coordinated classes. Does that feature mean it's not an IDL? I think it just means that sets of coordinated classes are a useful subset of what an IDL can express, and that IDL is still a good term for the full set of functionality.

        Show
        Doug Cutting added a comment - I still prefer IDL, because it's a well-known term whose meaning matches what GenAvro does: http://en.wikipedia.org/wiki/Interface_description_language One can indeed specify no messages in a protocol and use GenAvro to generate a set of coordinated classes. Does that feature mean it's not an IDL? I think it just means that sets of coordinated classes are a useful subset of what an IDL can express, and that IDL is still a good term for the full set of functionality.
        Hide
        ryan rawson added a comment -

        Indeed, Avro exists to exchange data between systems (or between the same system months/years later), and thus defines an interface, even if that interface is the definition of data objects.

        Show
        ryan rawson added a comment - Indeed, Avro exists to exchange data between systems (or between the same system months/years later), and thus defines an interface, even if that interface is the definition of data objects.
        Hide
        Scott Carey added a comment -

        Although I prefer AvroDL for brevity (not all of the IDLs listed in the wikipedia link have IDL in their name), I'm fine with it either way.

        Show
        Scott Carey added a comment - Although I prefer AvroDL for brevity (not all of the IDLs listed in the wikipedia link have IDL in their name), I'm fine with it either way.
        Hide
        Doug Cutting added a comment -

        Here's a patch for this. The shell script must be run before the patch is applied.

        Show
        Doug Cutting added a comment - Here's a patch for this. The shell script must be run before the patch is applied.
        Hide
        Doug Cutting added a comment -

        Updated patch generated with --no-diff-deleted, so that it actually applies.

        Show
        Doug Cutting added a comment - Updated patch generated with --no-diff-deleted, so that it actually applies.
        Hide
        Doug Cutting added a comment -

        I just committed this.

        Show
        Doug Cutting added a comment - I just committed this.

          People

          • Assignee:
            Doug Cutting
            Reporter:
            Todd Lipcon
          • Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development