Go asserts unique field names, https://github.com/apache/arrow/blob/084549a/go/arrow/schema.go#L117
The C++ (and Java, IIUC) implementation does not, and field name uniqueness is not discussed in Schema.fbs I discovered this when adding a schema with duplicate field names to datagen.py in the integration tests as part of a patch for ARROW-2255 (custom metadata integration tests) - Go failure: https://github.com/apache/arrow/pull/6556/checks?check_run_id=491383663#step:5:5030 - Java failure (maybe unrelated?): https://github.com/apache/arrow/pull/6556/checks?check_run_id=491383663#step:5:4827 I'll remove the duplicated field name from my patch, but this is unsatisfactory because I'm not sure what follow up JIRA(s) to open. Should we have an integration test which ensures sibling fields may have identical names? Or is field uniqueness a choice an implementation may make?