No river type provided for ignoring – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 1.7-1.7

Briefly, this error occurs when Elasticsearch is trying to ignore a river, but no river type is provided. Rivers were used to import data from external systems into Elasticsearch, but they have been deprecated since version 5.0.0. To resolve this issue, you can either specify the river type if you’re using an older version of Elasticsearch, or better yet, upgrade to a newer version and use Logstash or Beats for data import, as rivers are no longer supported.

This guide will help you check for common problems that cause the log ” no river type provided for [{}]; ignoring… ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: routing.

Log Context

Log “no river type provided for [{}]; ignoring…” classname is
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

                        logger.debug("{}/{}/_meta document found."; riverIndexName; mappingType);

                        String riverType = XContentMapValues.nodeStringValue(getResponse.getSourceAsMap().get("type"); null);
                        if (riverType == null) {
                            logger.warn("no river type provided for [{}]; ignoring..."; riverIndexName);
                        } else {
                            routingBuilder.put(new RiverRouting(new RiverName(riverType; mappingType); null));
                            dirty = true;
                    } else {