Github user nickwallen commented on a diff in the pull request: https://github.com/apache/metron/pull/827#discussion_r149186989 --- Diff: metron-platform/metron-indexing/src/test/java/org/apache/metron/indexing/dao/InMemoryDao.java --- @@ -221,12 +222,24 @@ public void batchUpdate(Map<Document, Optional<String>> updates) throws IOExcept } } - public Map<String, Map<String, FieldType>> getColumnMetadata(List<String> indices) throws IOException { - Map<String, Map<String, FieldType>> columnMetadata = new HashMap<>(); + @Override + public Map<String, FieldType> getColumnMetadata(List<String> indices) throws IOException { + Map<String, FieldType> indexColumnMetadata = new HashMap<>(); for(String index: indices) { - columnMetadata.put(index, new HashMap<>(COLUMN_METADATA.get(index))); + Map<String, FieldType> columnMetadata = COLUMN_METADATA.get(index); + for (Entry entry: columnMetadata.entrySet()) { + String field = (String) entry.getKey(); + FieldType type = (FieldType) entry.getValue(); + if (indexColumnMetadata.containsKey(field)) { + if (!type.equals(indexColumnMetadata.get(field))) { + indexColumnMetadata.remove(field); --- End diff -- > As far as I know the only place the UI uses this endpoint directly is when it presents a list of fields a user can select to display in the UI. It is also used for sorting and faceting (but that is internal to the ElasticsearchDAO.)
---