[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16278235#comment-16278235 ] Nandor Kollar commented on AVRO-2003: - Committed to master, thanks Elliot for working on this! > Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { > "type": "record", > "name": "myRecord", > "fields" : [ > {"name": "pField", "type": "long"}, > {"name": "uField", "type": > ["null", "int", "string"] > }, > {"name": "eField", "type": > { "type": "enum", "name": "Suit", "symbols" : ["SPADES", "HEARTS", > "DIAMONDS", "CLUBS"] } > }, > {"name": "aField", "type": > {"type": "array", "items": "string"} > }, > {"name": "mField", "type": > {"type": "map", "values": "long"} > }, > {"name": "fField", "type": > {"type": "fixed", "size": 16, "name": "md5"} > } > ] > } > {code} > Possible incompatibility scenarions and the location that would be reported > back to the user/tool: > * Root type incompatibility; report location: {{/}} > * Record name mismatch; report location: {{/name}} > * {{pField}} type incompatibility; report location: {{/fields/0/type}} > * {{uField}} field type incompatibility; report location: {{/fields/1/type}} > * {{uField}} missing union branch {{string}}; report location: > {{/fields/1/type/2}} > * {{eField}} field type incompatibility; report location: {{/fields/2/type}} > * {{eField}} missing enum symbol; report location: {{/fields/2/type/symbols}} > * {{eField}} enum name mismatch; report location: {{/fields/2/type/name}} > * {{aField}} field type incompatibility; report location: {{/fields/3/type}} > * {{aField}} array element type incompatibility; report location: > {{/fields/3/type/items}} > * {{mField}} field type incompatibility; report location: {{/fields/4/type}} > * {{mField}} map value type incompatibility; report location: > {{/fields/4/type/values}} > * {{fField}} field type incompatibility; report location: {{/fields/5/type}} > * {{fField}} fixed name mismatch; report location: {{/fields/5/type/name}} > * {{fField}} fixed size type incompatibility; report location: > {{/fields/5/type/size}} > * {{fField}} missing default value; report location: {{/fields/5}} > h2. Notes > * This ticket depends on AVRO-1933 and associated patches. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16278227#comment-16278227 ] ASF GitHub Bot commented on AVRO-2003: -- Github user asfgit closed the pull request at: https://github.com/apache/avro/pull/201 > Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { > "type": "record", > "name": "myRecord", > "fields" : [ > {"name": "pField", "type": "long"}, > {"name": "uField", "type": > ["null", "int", "string"] > }, > {"name": "eField", "type": > { "type": "enum", "name": "Suit", "symbols" : ["SPADES", "HEARTS", > "DIAMONDS", "CLUBS"] } > }, > {"name": "aField", "type": > {"type": "array", "items": "string"} > }, > {"name": "mField", "type": > {"type": "map", "values": "long"} > }, > {"name": "fField", "type": > {"type": "fixed", "size": 16, "name": "md5"} > } > ] > } > {code} > Possible incompatibility scenarions and the location that would be reported > back to the user/tool: > * Root type incompatibility; report location: {{/}} > * Record name mismatch; report location: {{/name}} > * {{pField}} type incompatibility; report location: {{/fields/0/type}} > * {{uField}} field type incompatibility; report location: {{/fields/1/type}} > * {{uField}} missing union branch {{string}}; report location: > {{/fields/1/type/2}} > * {{eField}} field type incompatibility; report location: {{/fields/2/type}} > * {{eField}} missing enum symbol; report location: {{/fields/2/type/symbols}} > * {{eField}} enum name mismatch; report location: {{/fields/2/type/name}} > * {{aField}} field type incompatibility; report location: {{/fields/3/type}} > * {{aField}} array element type incompatibility; report location: > {{/fields/3/type/items}} > * {{mField}} field type incompatibility; report location: {{/fields/4/type}} > * {{mField}} map value type incompatibility; report location: > {{/fields/4/type/values}} > * {{fField}} field type incompatibility; report location: {{/fields/5/type}} > * {{fField}} fixed name mismatch; report location: {{/fields/5/type/name}} > * {{fField}} fixed size type incompatibility; report location: > {{/fields/5/type/size}} > * {{fField}} missing default value; report location: {{/fields/5}} > h2. Notes > * This ticket depends on AVRO-1933 and associated patches. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16278226#comment-16278226 ] ASF subversion and git services commented on AVRO-2003: --- Commit 2df0775d2f368b326e3ac6442ce4850e3fe62edc in avro's branch refs/heads/master from [~teabot] [ https://git-wip-us.apache.org/repos/asf?p=avro.git;h=2df0775 ] AVRO-2003: Report specific location of schema incompatibilities Closes #201 Signed-off-by: Nandor Kollar> Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { > "type": "record", > "name": "myRecord", > "fields" : [ > {"name": "pField", "type": "long"}, > {"name": "uField", "type": > ["null", "int", "string"] > }, > {"name": "eField", "type": > { "type": "enum", "name": "Suit", "symbols" : ["SPADES", "HEARTS", > "DIAMONDS", "CLUBS"] } > }, > {"name": "aField", "type": > {"type": "array", "items": "string"} > }, > {"name": "mField", "type": > {"type": "map", "values": "long"} > }, > {"name": "fField", "type": > {"type": "fixed", "size": 16, "name": "md5"} > } > ] > } > {code} > Possible incompatibility scenarions and the location that would be reported > back to the user/tool: > * Root type incompatibility; report location: {{/}} > * Record name mismatch; report location: {{/name}} > * {{pField}} type incompatibility; report location: {{/fields/0/type}} > * {{uField}} field type incompatibility; report location: {{/fields/1/type}} > * {{uField}} missing union branch {{string}}; report location: > {{/fields/1/type/2}} > * {{eField}} field type incompatibility; report location: {{/fields/2/type}} > * {{eField}} missing enum symbol; report location: {{/fields/2/type/symbols}} > * {{eField}} enum name mismatch; report location: {{/fields/2/type/name}} > * {{aField}} field type incompatibility; report location: {{/fields/3/type}} > * {{aField}} array element type incompatibility; report location: > {{/fields/3/type/items}} > * {{mField}} field type incompatibility; report location: {{/fields/4/type}} > * {{mField}} map value type incompatibility; report location: > {{/fields/4/type/values}} > * {{fField}} field type incompatibility; report location: {{/fields/5/type}} > * {{fField}} fixed name mismatch; report location: {{/fields/5/type/name}} > * {{fField}} fixed size type incompatibility; report location: > {{/fields/5/type/size}} > * {{fField}} missing default value; report location: {{/fields/5}} > h2. Notes > * This ticket depends on AVRO-1933 and associated patches. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16255487#comment-16255487 ] Nandor Kollar commented on AVRO-2003: - +1 > Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { > "type": "record", > "name": "myRecord", > "fields" : [ > {"name": "pField", "type": "long"}, > {"name": "uField", "type": > ["null", "int", "string"] > }, > {"name": "eField", "type": > { "type": "enum", "name": "Suit", "symbols" : ["SPADES", "HEARTS", > "DIAMONDS", "CLUBS"] } > }, > {"name": "aField", "type": > {"type": "array", "items": "string"} > }, > {"name": "mField", "type": > {"type": "map", "values": "long"} > }, > {"name": "fField", "type": > {"type": "fixed", "size": 16, "name": "md5"} > } > ] > } > {code} > Possible incompatibility scenarions and the location that would be reported > back to the user/tool: > * Root type incompatibility; report location: {{/}} > * Record name mismatch; report location: {{/name}} > * {{pField}} type incompatibility; report location: {{/fields/0/type}} > * {{uField}} field type incompatibility; report location: {{/fields/1/type}} > * {{uField}} missing union branch {{string}}; report location: > {{/fields/1/type/2}} > * {{eField}} field type incompatibility; report location: {{/fields/2/type}} > * {{eField}} missing enum symbol; report location: {{/fields/2/type/symbols}} > * {{eField}} enum name mismatch; report location: {{/fields/2/type/name}} > * {{aField}} field type incompatibility; report location: {{/fields/3/type}} > * {{aField}} array element type incompatibility; report location: > {{/fields/3/type/items}} > * {{mField}} field type incompatibility; report location: {{/fields/4/type}} > * {{mField}} map value type incompatibility; report location: > {{/fields/4/type/values}} > * {{fField}} field type incompatibility; report location: {{/fields/5/type}} > * {{fField}} fixed name mismatch; report location: {{/fields/5/type/name}} > * {{fField}} fixed size type incompatibility; report location: > {{/fields/5/type/size}} > * {{fField}} missing default value; report location: {{/fields/5}} > h2. Notes > * This ticket depends on AVRO-1933 and associated patches. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16207135#comment-16207135 ] Nandor Kollar commented on AVRO-2003: - [~busbey] I reviewed Elliot's pull request, and looks good to me! Could you please have a look at it too, as the changed are non trivial? > Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { > "type": "record", > "name": "myRecord", > "fields" : [ > {"name": "pField", "type": "long"}, > {"name": "uField", "type": > ["null", "int", "string"] > }, > {"name": "eField", "type": > { "type": "enum", "name": "Suit", "symbols" : ["SPADES", "HEARTS", > "DIAMONDS", "CLUBS"] } > }, > {"name": "aField", "type": > {"type": "array", "items": "string"} > }, > {"name": "mField", "type": > {"type": "map", "values": "long"} > }, > {"name": "fField", "type": > {"type": "fixed", "size": 16, "name": "md5"} > } > ] > } > {code} > Possible incompatibility scenarions and the location that would be reported > back to the user/tool: > * Root type incompatibility; report location: {{/}} > * Record name mismatch; report location: {{/name}} > * {{pField}} type incompatibility; report location: {{/fields/0/type}} > * {{uField}} field type incompatibility; report location: {{/fields/1/type}} > * {{uField}} missing union branch {{string}}; report location: > {{/fields/1/type/2}} > * {{eField}} field type incompatibility; report location: {{/fields/2/type}} > * {{eField}} missing enum symbol; report location: {{/fields/2/type/symbols}} > * {{eField}} enum name mismatch; report location: {{/fields/2/type/name}} > * {{aField}} field type incompatibility; report location: {{/fields/3/type}} > * {{aField}} array element type incompatibility; report location: > {{/fields/3/type/items}} > * {{mField}} field type incompatibility; report location: {{/fields/4/type}} > * {{mField}} map value type incompatibility; report location: > {{/fields/4/type/values}} > * {{fField}} field type incompatibility; report location: {{/fields/5/type}} > * {{fField}} fixed name mismatch; report location: {{/fields/5/type/name}} > * {{fField}} fixed size type incompatibility; report location: > {{/fields/5/type/size}} > * {{fField}} missing default value; report location: {{/fields/5}} > h2. Notes > * This ticket depends on AVRO-1933 and associated patches. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=1619#comment-1619 ] Elliot West commented on AVRO-2003: --- [~nkollar] Thanks for the feedback, I'll address the comments and update the PR shortly. > Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { > "type": "record", > "name": "myRecord", > "fields" : [ > {"name": "pField", "type": "long"}, > {"name": "uField", "type": > ["null", "int", "string"] > }, > {"name": "eField", "type": > { "type": "enum", "name": "Suit", "symbols" : ["SPADES", "HEARTS", > "DIAMONDS", "CLUBS"] } > }, > {"name": "aField", "type": > {"type": "array", "items": "string"} > }, > {"name": "mField", "type": > {"type": "map", "values": "long"} > }, > {"name": "fField", "type": > {"type": "fixed", "size": 16, "name": "md5"} > } > ] > } > {code} > Possible incompatibility scenarions and the location that would be reported > back to the user/tool: > * Root type incompatibility; report location: {{/}} > * Record name mismatch; report location: {{/name}} > * {{pField}} type incompatibility; report location: {{/fields/0/type}} > * {{uField}} field type incompatibility; report location: {{/fields/1/type}} > * {{uField}} missing union branch {{string}}; report location: > {{/fields/1/type/2}} > * {{eField}} field type incompatibility; report location: {{/fields/2/type}} > * {{eField}} missing enum symbol; report location: {{/fields/2/type/symbols}} > * {{eField}} enum name mismatch; report location: {{/fields/2/type/name}} > * {{aField}} field type incompatibility; report location: {{/fields/3/type}} > * {{aField}} array element type incompatibility; report location: > {{/fields/3/type/items}} > * {{mField}} field type incompatibility; report location: {{/fields/4/type}} > * {{mField}} map value type incompatibility; report location: > {{/fields/4/type/values}} > * {{fField}} field type incompatibility; report location: {{/fields/5/type}} > * {{fField}} fixed name mismatch; report location: {{/fields/5/type/name}} > * {{fField}} fixed size type incompatibility; report location: > {{/fields/5/type/size}} > * {{fField}} missing default value; report location: {{/fields/5}} > h2. Notes > * This ticket depends on AVRO-1933 and associated patches. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16188327#comment-16188327 ] Nandor Kollar commented on AVRO-2003: - [~teabot] I added some comments to the PR. > Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { > "type": "record", > "name": "myRecord", > "fields" : [ > {"name": "pField", "type": "long"}, > {"name": "uField", "type": > ["null", "int", "string"] > }, > {"name": "eField", "type": > { "type": "enum", "name": "Suit", "symbols" : ["SPADES", "HEARTS", > "DIAMONDS", "CLUBS"] } > }, > {"name": "aField", "type": > {"type": "array", "items": "string"} > }, > {"name": "mField", "type": > {"type": "map", "values": "long"} > }, > {"name": "fField", "type": > {"type": "fixed", "size": 16, "name": "md5"} > } > ] > } > {code} > Possible incompatibility scenarions and the location that would be reported > back to the user/tool: > * Root type incompatibility; report location: {{/}} > * Record name mismatch; report location: {{/name}} > * {{pField}} type incompatibility; report location: {{/fields/0/type}} > * {{uField}} field type incompatibility; report location: {{/fields/1/type}} > * {{uField}} missing union branch {{string}}; report location: > {{/fields/1/type/2}} > * {{eField}} field type incompatibility; report location: {{/fields/2/type}} > * {{eField}} missing enum symbol; report location: {{/fields/2/type/symbols}} > * {{eField}} enum name mismatch; report location: {{/fields/2/type/name}} > * {{aField}} field type incompatibility; report location: {{/fields/3/type}} > * {{aField}} array element type incompatibility; report location: > {{/fields/3/type/items}} > * {{mField}} field type incompatibility; report location: {{/fields/4/type}} > * {{mField}} map value type incompatibility; report location: > {{/fields/4/type/values}} > * {{fField}} field type incompatibility; report location: {{/fields/5/type}} > * {{fField}} fixed name mismatch; report location: {{/fields/5/type/name}} > * {{fField}} fixed size type incompatibility; report location: > {{/fields/5/type/size}} > * {{fField}} missing default value; report location: {{/fields/5}} > h2. Notes > * This ticket depends on AVRO-1933 and associated patches. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16173153#comment-16173153 ] Nandor Kollar commented on AVRO-2003: - Thanks [~teabot], I'll help the committers with a review soon! > Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { > "type": "record", > "name": "myRecord", > "fields" : [ > {"name": "pField", "type": "long"}, > {"name": "uField", "type": > ["null", "int", "string"] > }, > {"name": "eField", "type": > { "type": "enum", "name": "Suit", "symbols" : ["SPADES", "HEARTS", > "DIAMONDS", "CLUBS"] } > }, > {"name": "aField", "type": > {"type": "array", "items": "string"} > }, > {"name": "mField", "type": > {"type": "map", "values": "long"} > }, > {"name": "fField", "type": > {"type": "fixed", "size": 16, "name": "md5"} > } > ] > } > {code} > Possible incompatibility scenarions and the location that would be reported > back to the user/tool: > * Root type incompatibility; report location: {{/}} > * Record name mismatch; report location: {{/name}} > * {{pField}} type incompatibility; report location: {{/fields/0/type}} > * {{uField}} field type incompatibility; report location: {{/fields/1/type}} > * {{uField}} missing union branch {{string}}; report location: > {{/fields/1/type/2}} > * {{eField}} field type incompatibility; report location: {{/fields/2/type}} > * {{eField}} missing enum symbol; report location: {{/fields/2/type/symbols}} > * {{eField}} enum name mismatch; report location: {{/fields/2/type/name}} > * {{aField}} field type incompatibility; report location: {{/fields/3/type}} > * {{aField}} array element type incompatibility; report location: > {{/fields/3/type/items}} > * {{mField}} field type incompatibility; report location: {{/fields/4/type}} > * {{mField}} map value type incompatibility; report location: > {{/fields/4/type/values}} > * {{fField}} field type incompatibility; report location: {{/fields/5/type}} > * {{fField}} fixed name mismatch; report location: {{/fields/5/type/name}} > * {{fField}} fixed size type incompatibility; report location: > {{/fields/5/type/size}} > * {{fField}} missing default value; report location: {{/fields/5}} > h2. Notes > * This ticket depends on AVRO-1933 and associated patches. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16166634#comment-16166634 ] Elliot West commented on AVRO-2003: --- [~nkollar], I believe this is ready for review. Apologies for the stream of small commits; I had to back out a bunch of formatting changes that were perhaps introduced from an early AVRO-1933 patch (I think...). Anyway, I believe the PR now includes only changes related to this feature. Thank you. > Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { > "type": "record", > "name": "myRecord", > "fields" : [ > {"name": "pField", "type": "long"}, > {"name": "uField", "type": > ["null", "int", "string"] > }, > {"name": "eField", "type": > { "type": "enum", "name": "Suit", "symbols" : ["SPADES", "HEARTS", > "DIAMONDS", "CLUBS"] } > }, > {"name": "aField", "type": > {"type": "array", "items": "string"} > }, > {"name": "mField", "type": > {"type": "map", "values": "long"} > }, > {"name": "fField", "type": > {"type": "fixed", "size": 16, "name": "md5"} > } > ] > } > {code} > Possible incompatibility scenarions and the location that would be reported > back to the user/tool: > * Root type incompatibility; report location: {{/}} > * Record name mismatch; report location: {{/name}} > * {{pField}} type incompatibility; report location: {{/fields/0/type}} > * {{uField}} field type incompatibility; report location: {{/fields/1/type}} > * {{uField}} missing union branch {{string}}; report location: > {{/fields/1/type/2}} > * {{eField}} field type incompatibility; report location: {{/fields/2/type}} > * {{eField}} missing enum symbol; report location: {{/fields/2/type/symbols}} > * {{eField}} enum name mismatch; report location: {{/fields/2/type/name}} > * {{aField}} field type incompatibility; report location: {{/fields/3/type}} > * {{aField}} array element type incompatibility; report location: > {{/fields/3/type/items}} > * {{mField}} field type incompatibility; report location: {{/fields/4/type}} > * {{mField}} map value type incompatibility; report location: > {{/fields/4/type/values}} > * {{fField}} field type incompatibility; report location: {{/fields/5/type}} > * {{fField}} fixed name mismatch; report location: {{/fields/5/type/name}} > * {{fField}} fixed size type incompatibility; report location: > {{/fields/5/type/size}} > * {{fField}} missing default value; report location: {{/fields/5}} > h2. Notes > * This ticket depends on AVRO-1933 and associated patches. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16156962#comment-16156962 ] Elliot West commented on AVRO-2003: --- [~nkollar] certainly, I'll look at this shortly. > Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { > "type": "record", > "name": "myRecord", > "fields" : [ > {"name": "pField", "type": "long"}, > {"name": "uField", "type": > ["null", "int", "string"] > }, > {"name": "eField", "type": > { "type": "enum", "name": "Suit", "symbols" : ["SPADES", "HEARTS", > "DIAMONDS", "CLUBS"] } > }, > {"name": "aField", "type": > {"type": "array", "items": "string"} > }, > {"name": "mField", "type": > {"type": "map", "values": "long"} > }, > {"name": "fField", "type": > {"type": "fixed", "size": 16, "name": "md5"} > } > ] > } > {code} > Possible incompatibility scenarions and the location that would be reported > back to the user/tool: > * Root type incompatibility; report location: {{/}} > * Record name mismatch; report location: {{/name}} > * {{pField}} type incompatibility; report location: {{/fields/0/type}} > * {{uField}} field type incompatibility; report location: {{/fields/1/type}} > * {{uField}} missing union branch {{string}}; report location: > {{/fields/1/type/2}} > * {{eField}} field type incompatibility; report location: {{/fields/2/type}} > * {{eField}} missing enum symbol; report location: {{/fields/2/type/symbols}} > * {{eField}} enum name mismatch; report location: {{/fields/2/type/name}} > * {{aField}} field type incompatibility; report location: {{/fields/3/type}} > * {{aField}} array element type incompatibility; report location: > {{/fields/3/type/items}} > * {{mField}} field type incompatibility; report location: {{/fields/4/type}} > * {{mField}} map value type incompatibility; report location: > {{/fields/4/type/values}} > * {{fField}} field type incompatibility; report location: {{/fields/5/type}} > * {{fField}} fixed name mismatch; report location: {{/fields/5/type/name}} > * {{fField}} fixed size type incompatibility; report location: > {{/fields/5/type/size}} > * {{fField}} missing default value; report location: {{/fields/5}} > h2. Notes > * This ticket depends on AVRO-1933 and associated patches. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16156938#comment-16156938 ] Nandor Kollar commented on AVRO-2003: - [~teabot] now AVRO-1933 is committed to master, due to this your PR has several merge conflicts. Could you please update it with merging your changes to latest Apache master? > Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { > "type": "record", > "name": "myRecord", > "fields" : [ > {"name": "pField", "type": "long"}, > {"name": "uField", "type": > ["null", "int", "string"] > }, > {"name": "eField", "type": > { "type": "enum", "name": "Suit", "symbols" : ["SPADES", "HEARTS", > "DIAMONDS", "CLUBS"] } > }, > {"name": "aField", "type": > {"type": "array", "items": "string"} > }, > {"name": "mField", "type": > {"type": "map", "values": "long"} > }, > {"name": "fField", "type": > {"type": "fixed", "size": 16, "name": "md5"} > } > ] > } > {code} > Possible incompatibility scenarions and the location that would be reported > back to the user/tool: > * Root type incompatibility; report location: {{/}} > * Record name mismatch; report location: {{/name}} > * {{pField}} type incompatibility; report location: {{/fields/0/type}} > * {{uField}} field type incompatibility; report location: {{/fields/1/type}} > * {{uField}} missing union branch {{string}}; report location: > {{/fields/1/type/2}} > * {{eField}} field type incompatibility; report location: {{/fields/2/type}} > * {{eField}} missing enum symbol; report location: {{/fields/2/type/symbols}} > * {{eField}} enum name mismatch; report location: {{/fields/2/type/name}} > * {{aField}} field type incompatibility; report location: {{/fields/3/type}} > * {{aField}} array element type incompatibility; report location: > {{/fields/3/type/items}} > * {{mField}} field type incompatibility; report location: {{/fields/4/type}} > * {{mField}} map value type incompatibility; report location: > {{/fields/4/type/values}} > * {{fField}} field type incompatibility; report location: {{/fields/5/type}} > * {{fField}} fixed name mismatch; report location: {{/fields/5/type/name}} > * {{fField}} fixed size type incompatibility; report location: > {{/fields/5/type/size}} > * {{fField}} missing default value; report location: {{/fields/5}} > h2. Notes > * This ticket depends on AVRO-1933 and associated patches. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16108569#comment-16108569 ] Elliot West commented on AVRO-2003: --- [~sacharya], [~satish.duggana], I believe that I've now resolved the whitespace issue that was causing the -1 build. I've pushed the changes to the PR on GitHub, thanks. > Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { > "type": "record", > "name": "myRecord", > "fields" : [ > {"name": "pField", "type": "long"}, > {"name": "uField", "type": > ["null", "int", "string"] > }, > {"name": "eField", "type": > { "type": "enum", "name": "Suit", "symbols" : ["SPADES", "HEARTS", > "DIAMONDS", "CLUBS"] } > }, > {"name": "aField", "type": > {"type": "array", "items": "string"} > }, > {"name": "mField", "type": > {"type": "map", "values": "long"} > }, > {"name": "fField", "type": > {"type": "fixed", "size": 16, "name": "md5"} > } > ] > } > {code} > Possible incompatibility scenarions and the location that would be reported > back to the user/tool: > * Root type incompatibility; report location: {{/}} > * Record name mismatch; report location: {{/name}} > * {{pField}} type incompatibility; report location: {{/fields/0/type}} > * {{uField}} field type incompatibility; report location: {{/fields/1/type}} > * {{uField}} missing union branch {{string}}; report location: > {{/fields/1/type/2}} > * {{eField}} field type incompatibility; report location: {{/fields/2/type}} > * {{eField}} missing enum symbol; report location: {{/fields/2/type/symbols}} > * {{eField}} enum name mismatch; report location: {{/fields/2/type/name}} > * {{aField}} field type incompatibility; report location: {{/fields/3/type}} > * {{aField}} array element type incompatibility; report location: > {{/fields/3/type/items}} > * {{mField}} field type incompatibility; report location: {{/fields/4/type}} > * {{mField}} map value type incompatibility; report location: > {{/fields/4/type/values}} > * {{fField}} field type incompatibility; report location: {{/fields/5/type}} > * {{fField}} fixed name mismatch; report location: {{/fields/5/type/name}} > * {{fField}} fixed size type incompatibility; report location: > {{/fields/5/type/size}} > * {{fField}} missing default value; report location: {{/fields/5}} > h2. Notes > * This ticket depends on AVRO-1933 and associated patches. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16106990#comment-16106990 ] Elliot West commented on AVRO-2003: --- Please see this mail list post for a workaround: http://mail-archives.apache.org/mod_mbox/avro-user/201707.mbox/%3cCAC3gpCbNGSNZ744v7scST9n+6x7J4-SML=mwhcrnt176tgt...@mail.gmail.com%3e I'll attempt to resolve the whitespace issue described above. > Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { > "type": "record", > "name": "myRecord", > "fields" : [ > {"name": "pField", "type": "long"}, > {"name": "uField", "type": > ["null", "int", "string"] > }, > {"name": "eField", "type": > { "type": "enum", "name": "Suit", "symbols" : ["SPADES", "HEARTS", > "DIAMONDS", "CLUBS"] } > }, > {"name": "aField", "type": > {"type": "array", "items": "string"} > }, > {"name": "mField", "type": > {"type": "map", "values": "long"} > }, > {"name": "fField", "type": > {"type": "fixed", "size": 16, "name": "md5"} > } > ] > } > {code} > Possible incompatibility scenarions and the location that would be reported > back to the user/tool: > * Root type incompatibility; report location: {{/}} > * Record name mismatch; report location: {{/name}} > * {{pField}} type incompatibility; report location: {{/fields/0/type}} > * {{uField}} field type incompatibility; report location: {{/fields/1/type}} > * {{uField}} missing union branch {{string}}; report location: > {{/fields/1/type/2}} > * {{eField}} field type incompatibility; report location: {{/fields/2/type}} > * {{eField}} missing enum symbol; report location: {{/fields/2/type/symbols}} > * {{eField}} enum name mismatch; report location: {{/fields/2/type/name}} > * {{aField}} field type incompatibility; report location: {{/fields/3/type}} > * {{aField}} array element type incompatibility; report location: > {{/fields/3/type/items}} > * {{mField}} field type incompatibility; report location: {{/fields/4/type}} > * {{mField}} map value type incompatibility; report location: > {{/fields/4/type/values}} > * {{fField}} field type incompatibility; report location: {{/fields/5/type}} > * {{fField}} fixed name mismatch; report location: {{/fields/5/type/name}} > * {{fField}} fixed size type incompatibility; report location: > {{/fields/5/type/size}} > * {{fField}} missing default value; report location: {{/fields/5}} > h2. Notes > * This ticket depends on AVRO-1933 and associated patches. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15988097#comment-15988097 ] Suraj Acharya commented on AVRO-2003: - Ignore build 14. Build 15 artifact : https://builds.apache.org/job/PreCommit-AVRO-Build-TEST/ws/component/patchprocess/whitespace-eol.txt > Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { > "type": "record", > "name": "myRecord", > "fields" : [ > {"name": "pField", "type": "long"}, > {"name": "uField", "type": > ["null", "int", "string"] > }, > {"name": "eField", "type": > { "type": "enum", "name": "Suit", "symbols" : ["SPADES", "HEARTS", > "DIAMONDS", "CLUBS"] } > }, > {"name": "aField", "type": > {"type": "array", "items": "string"} > }, > {"name": "mField", "type": > {"type": "map", "values": "long"} > }, > {"name": "fField", "type": > {"type": "fixed", "size": 16, "name": "md5"} > } > ] > } > {code} > Possible incompatibility scenarions and the location that would be reported > back to the user/tool: > * Root type incompatibility; report location: {{/}} > * Record name mismatch; report location: {{/name}} > * {{pField}} type incompatibility; report location: {{/fields/0/type}} > * {{uField}} field type incompatibility; report location: {{/fields/1/type}} > * {{uField}} missing union branch {{string}}; report location: > {{/fields/1/type/2}} > * {{eField}} field type incompatibility; report location: {{/fields/2/type}} > * {{eField}} missing enum symbol; report location: {{/fields/2/type/symbols}} > * {{eField}} enum name mismatch; report location: {{/fields/2/type/name}} > * {{aField}} field type incompatibility; report location: {{/fields/3/type}} > * {{aField}} array element type incompatibility; report location: > {{/fields/3/type/items}} > * {{mField}} field type incompatibility; report location: {{/fields/4/type}} > * {{mField}} map value type incompatibility; report location: > {{/fields/4/type/values}} > * {{fField}} field type incompatibility; report location: {{/fields/5/type}} > * {{fField}} fixed name mismatch; report location: {{/fields/5/type/name}} > * {{fField}} fixed size type incompatibility; report location: > {{/fields/5/type/size}} > * {{fField}} missing default value; report location: {{/fields/5}} > h2. Notes > * This ticket depends on AVRO-1933 and associated patches. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15988093#comment-15988093 ] Hadoop QA commented on AVRO-2003: - | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 14s{color} | {color:blue} Docker mode activated. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} buildtest {color} | {color:green} 0m 0s{color} | {color:green} master passed {color} | | {color:red}-1{color} | {color:red} whitespace {color} | {color:red} 0m 0s{color} | {color:red} The patch has 21 line(s) that end in whitespace. Use git apply --whitespace=fix <>. Refer https://git-scm.com/docs/git-apply {color} | | {color:green}+1{color} | {color:green} buildtest {color} | {color:green} 6m 40s{color} | {color:green} the patch passed {color} | | {color:black}{color} | {color:black} {color} | {color:black} 7m 5s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=1.13.1 Server=1.13.1 Image:yetus/avro:793178a | | JIRA Issue | AVRO-2003 | | GITHUB PR | https://github.com/apache/avro/pull/201 | | Optional Tests | buildtest javac | | uname | Linux 8a7da17fc74b 3.13.0-106-generic #153-Ubuntu SMP Tue Dec 6 15:44:32 UTC 2016 x86_64 GNU/Linux | | Build tool | build | | git revision | master / 793178a | | Default Java | 1.7.0_111 | | whitespace | https://builds.apache.org/job/PreCommit-AVRO-Build-TEST/15/artifact/patchprocess/whitespace-eol.txt | | modules | C: lang/java U: lang/java | | Console output | https://builds.apache.org/job/PreCommit-AVRO-Build-TEST/15/console | | Powered by | Apache Yetus 0.4.0 http://yetus.apache.org | This message was automatically generated. > Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { > "type": "record", > "name": "myRecord", > "fields" : [ > {"name": "pField", "type": "long"}, > {"name": "uField", "type": > ["null", "int", "string"] > }, > {"name": "eField", "type": > { "type": "enum", "name": "Suit", "symbols" : ["SPADES", "HEARTS", > "DIAMONDS", "CLUBS"] } > }, > {"name": "aField", "type": > {"type": "array", "items": "string"} > }, > {"name": "mField", "type": > {"type": "map", "values": "long"} > }, > {"name": "fField", "type": > {"type": "fixed", "size": 16, "name": "md5"} > } > ] > } > {code} > Possible incompatibility scenarions and the location that would be reported > back to the user/tool: > * Root type incompatibility; report location: {{/}} > * Record name mismatch; report location: {{/name}} > * {{pField}} type incompatibility; report location: {{/fields/0/type}} > * {{uField}} field type incompatibility; report location: {{/fields/1/type}} > * {{uField}} missing union branch {{string}}; report location: > {{/fields/1/type/2}} > * {{eField}} field type incompatibility; report location: {{/fields/2/type}} > * {{eField}} missing enum symbol; report location: {{/fields/2/type/symbols}} > * {{eField}} enum name mismatch; report location:
[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15988082#comment-15988082 ] Hadoop QA commented on AVRO-2003: - | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 17s{color} | {color:blue} Docker mode activated. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:red}-1{color} | {color:red} compile {color} | {color:red} 0m 0s{color} | {color:red} java in the patch failed. {color} | | {color:green}+1{color} | {color:green} buildtest {color} | {color:green} 6m 39s{color} | {color:green} master passed {color} | | {color:red}-1{color} | {color:red} javadoc {color} | {color:red} 0m 2s{color} | {color:red} java in the patch failed. {color} | | {color:red}-1{color} | {color:red} compile {color} | {color:red} 0m 1s{color} | {color:red} java in the patch failed. {color} | | {color:red}-1{color} | {color:red} javac {color} | {color:red} 0m 1s{color} | {color:red} java in the patch failed. {color} | | {color:red}-1{color} | {color:red} whitespace {color} | {color:red} 0m 0s{color} | {color:red} The patch has 21 line(s) that end in whitespace. Use git apply --whitespace=fix <>. Refer https://git-scm.com/docs/git-apply {color} | | {color:green}+1{color} | {color:green} buildtest {color} | {color:green} 6m 21s{color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} javadoc {color} | {color:red} 0m 2s{color} | {color:red} java in the patch failed. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 13m 37s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=1.13.1 Server=1.13.1 Image:yetus/avro:793178a | | JIRA Issue | AVRO-2003 | | GITHUB PR | https://github.com/apache/avro/pull/201 | | Optional Tests | buildtest javac compile javadoc | | uname | Linux 5ed3aa5d1014 3.13.0-106-generic #153-Ubuntu SMP Tue Dec 6 15:44:32 UTC 2016 x86_64 GNU/Linux | | Build tool | build | | git revision | master / 793178a | | Default Java | 1.7.0_111 | | compile | https://builds.apache.org/job/PreCommit-AVRO-Build-TEST/14/artifact/patchprocess/compile--lang_java.txt | | javadoc | https://builds.apache.org/job/PreCommit-AVRO-Build-TEST/14/artifact/patchprocess/javadoc--lang_java.txt | | compile | https://builds.apache.org/job/PreCommit-AVRO-Build-TEST/14/artifact/patchprocess/compile--lang_java.txt | | javac | https://builds.apache.org/job/PreCommit-AVRO-Build-TEST/14/artifact/patchprocess/compile--lang_java.txt | | whitespace | https://builds.apache.org/job/PreCommit-AVRO-Build-TEST/14/artifact/patchprocess/whitespace-eol.txt | | javadoc | https://builds.apache.org/job/PreCommit-AVRO-Build-TEST/14/artifact/patchprocess/javadoc--lang_java.txt | | modules | C: lang/java U: lang/java | | Console output | https://builds.apache.org/job/PreCommit-AVRO-Build-TEST/14/console | | Powered by | Apache Yetus 0.4.0 http://yetus.apache.org | This message was automatically generated. > Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { >
[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15894042#comment-15894042 ] Elliot West commented on AVRO-2003: --- [~satish.duggana], should I fork {{epkanol/avro-1:AVRO-1933}} and create a PR to merge back into there, or fork {{apache/avro:master}} and pull the AVRO-1933 changes into there to create a single über PR? > Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { > "type": "record", > "name": "myRecord", > "fields" : [ > {"name": "pField", "type": "long"}, > {"name": "uField", "type": > ["null", "int", "string"] > }, > {"name": "eField", "type": > { "type": "enum", "name": "Suit", "symbols" : ["SPADES", "HEARTS", > "DIAMONDS", "CLUBS"] } > }, > {"name": "aField", "type": > {"type": "array", "items": "string"} > }, > {"name": "mField", "type": > {"type": "map", "values": "long"} > }, > {"name": "fField", "type": > {"type": "fixed", "size": 16, "name": "md5"} > } > ] > } > {code} > Possible incompatibility scenarions and the location that would be reported > back to the user/tool: > * Root type incompatibility; report location: {{/}} > * Record name mismatch; report location: {{/name}} > * {{pField}} type incompatibility; report location: {{/fields/0/type}} > * {{uField}} field type incompatibility; report location: {{/fields/1/type}} > * {{uField}} missing union branch {{string}}; report location: > {{/fields/1/type/2}} > * {{eField}} field type incompatibility; report location: {{/fields/2/type}} > * {{eField}} missing enum symbol; report location: {{/fields/2/type/symbols}} > * {{eField}} enum name mismatch; report location: {{/fields/2/type/name}} > * {{aField}} field type incompatibility; report location: {{/fields/3/type}} > * {{aField}} array element type incompatibility; report location: > {{/fields/3/type/items}} > * {{mField}} field type incompatibility; report location: {{/fields/4/type}} > * {{mField}} map value type incompatibility; report location: > {{/fields/4/type/values}} > * {{fField}} field type incompatibility; report location: {{/fields/5/type}} > * {{fField}} fixed name mismatch; report location: {{/fields/5/type/name}} > * {{fField}} fixed size type incompatibility; report location: > {{/fields/5/type/size}} > * {{fField}} missing default value; report location: {{/fields/5}} > h2. Notes > * This ticket depends on AVRO-1933 and associated patches. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (AVRO-2003) Report specific location of schema incompatibilities
[ https://issues.apache.org/jira/browse/AVRO-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15893982#comment-15893982 ] Satish Duggana commented on AVRO-2003: -- [~teabot] Can you raise PR by taking changes from [AVRO-1933 PR|https://github.com/apache/avro/pull/200/] > Report specific location of schema incompatibilities > > > Key: AVRO-2003 > URL: https://issues.apache.org/jira/browse/AVRO-2003 > Project: Avro > Issue Type: Improvement > Components: java >Affects Versions: 1.8.1 > Environment: Any java env >Reporter: Elliot West >Assignee: Elliot West >Priority: Minor > Fix For: 1.9.0 > > Attachments: AVRO-2003.patch > > > h2. Overview > Building on the work to improve schema incompatibility reporting in > AVRO-1933, it would be useful if the {{SchemaCompatibility}} classes could > also report the location in the schema where any incompatibility was > encountered. > It is recommended that the location reported is both easily readable by > humans and machines. In the first case this would assist schema developers to > pin-point issues in there schema documents, and in the latter case it > provides a useful mechanism to schema tooling, such as IDEs and editors, to > easily select the pertinent nodes in the Schema document tree. > h2. Implementation specifics > To meet this requirements it is suggested that the location is encoded using > the [JSON Pointer specification|https://tools.ietf.org/html/rfc6901]. This is > both easily parsed by users, but is also supported by a number of libraries > for a range of common programming languages and platforms. > h2. Examples > Given the following example schema, consider some incompatibility scenarios. > For each case an expected JSON Pointer description of the incompatibility > location is described: > {code} > { > "type": "record", > "name": "myRecord", > "fields" : [ > {"name": "pField", "type": "long"}, > {"name": "uField", "type": > ["null", "int", "string"] > }, > {"name": "eField", "type": > { "type": "enum", "name": "Suit", "symbols" : ["SPADES", "HEARTS", > "DIAMONDS", "CLUBS"] } > }, > {"name": "aField", "type": > {"type": "array", "items": "string"} > }, > {"name": "mField", "type": > {"type": "map", "values": "long"} > }, > {"name": "fField", "type": > {"type": "fixed", "size": 16, "name": "md5"} > } > ] > } > {code} > Possible incompatibility scenarions and the location that would be reported > back to the user/tool: > * Root type incompatibility; report location: {{/}} > * Record name mismatch; report location: {{/name}} > * {{pField}} type incompatibility; report location: {{/fields/0/type}} > * {{uField}} field type incompatibility; report location: {{/fields/1/type}} > * {{uField}} missing union branch {{string}}; report location: > {{/fields/1/type/2}} > * {{eField}} field type incompatibility; report location: {{/fields/2/type}} > * {{eField}} missing enum symbol; report location: {{/fields/2/type/symbols}} > * {{eField}} enum name mismatch; report location: {{/fields/2/type/name}} > * {{aField}} field type incompatibility; report location: {{/fields/3/type}} > * {{aField}} array element type incompatibility; report location: > {{/fields/3/type/items}} > * {{mField}} field type incompatibility; report location: {{/fields/4/type}} > * {{mField}} map value type incompatibility; report location: > {{/fields/4/type/values}} > * {{fField}} field type incompatibility; report location: {{/fields/5/type}} > * {{fField}} fixed name mismatch; report location: {{/fields/5/type/name}} > * {{fField}} fixed size type incompatibility; report location: > {{/fields/5/type/size}} > * {{fField}} missing default value; report location: {{/fields/5}} > h2. Notes > * This ticket depends on AVRO-1933 and associated patches. -- This message was sent by Atlassian JIRA (v6.3.15#6346)