@jtkarvo I did stop graylog 2.3, then flushed ES, then upgraded, then waited my ES to become ‘green’, then I started graylog 2.3 back up. Below is the ES log that shows the upgrade process with no error: at 09:04 I stopped ES and started to upgrade it, at 9:14, I brought ES back up.
[2017-08-16 09:04:13,236][INFO ][node ] [es1] stopping …
[2017-08-16 09:04:13,290][INFO ][node ] [es1] stopped
[2017-08-16 09:04:13,290][INFO ][node ] [es1] closing …
[2017-08-16 09:04:13,300][INFO ][node ] [es1] closed
[2017-08-16T09:14:46,204][INFO ][o.e.n.Node ] [es1] initializing …
[2017-08-16T09:14:46,283][INFO ][o.e.e.NodeEnvironment ] [es1] using [1] data paths, mounts [[/ (rootfs)]], net usable_space [47.8gb], net total_space [49.9gb], spins? [unknown], types [rootfs]
[2017-08-16T09:14:46,283][INFO ][o.e.e.NodeEnvironment ] [es1] heap size [1.9gb], compressed ordinary object pointers [true]
[2017-08-16T09:14:46,299][INFO ][o.e.n.Node ] [es1] node name [es1], node ID [yo1NvEn-SQC0FCP0IZ2G9w]
[2017-08-16T09:14:46,299][INFO ][o.e.n.Node ] [es1] version[5.5.1], pid[28078], build[19c13d0/2017-07-18T20:44:24.823Z], OS[Linux/3.10.0-514.26.2.el7.x86_64/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/1.8.0_141/25.141-b16]
[2017-08-16T09:14:46,299][INFO ][o.e.n.Node ] [es1] JVM arguments [-Xms2g, -Xmx2g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -Djdk.io.permissionsUseCanonicalPath=true, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j.skipJansi=true, -XX:+HeapDumpOnOutOfMemoryError, -Des.path.home=/usr/share/elasticsearch]
[2017-08-16T09:14:47,335][INFO ][o.e.p.PluginsService ] [es1] loaded module [aggs-matrix-stats]
[2017-08-16T09:14:47,335][INFO ][o.e.p.PluginsService ] [es1] loaded module [ingest-common]
[2017-08-16T09:14:47,335][INFO ][o.e.p.PluginsService ] [es1] loaded module [lang-expression]
[2017-08-16T09:14:47,335][INFO ][o.e.p.PluginsService ] [es1] loaded module [lang-groovy]
[2017-08-16T09:14:47,335][INFO ][o.e.p.PluginsService ] [es1] loaded module [lang-mustache]
[2017-08-16T09:14:47,335][INFO ][o.e.p.PluginsService ] [es1] loaded module [lang-painless]
[2017-08-16T09:14:47,335][INFO ][o.e.p.PluginsService ] [es1] loaded module [parent-join]
[2017-08-16T09:14:47,335][INFO ][o.e.p.PluginsService ] [es1] loaded module [percolator]
[2017-08-16T09:14:47,335][INFO ][o.e.p.PluginsService ] [es1] loaded module [reindex]
[2017-08-16T09:14:47,335][INFO ][o.e.p.PluginsService ] [es1] loaded module [transport-netty3]
[2017-08-16T09:14:47,336][INFO ][o.e.p.PluginsService ] [es1] loaded module [transport-netty4]
[2017-08-16T09:14:47,336][INFO ][o.e.p.PluginsService ] [es1] no plugins loaded
[2017-08-16T09:14:49,404][INFO ][o.e.d.DiscoveryModule ] [es1] using discovery type [zen]
[2017-08-16T09:14:49,908][INFO ][o.e.c.u.IndexFolderUpgrader] [graylog_1/7lgD97E4SKqh0pxbBoP1Mw] upgrading [/var/lib/elasticsearch/es-cluster/nodes/0/indices/graylog_1] to new naming convention
[2017-08-16T09:14:49,910][INFO ][o.e.c.u.IndexFolderUpgrader] [graylog_1/7lgD97E4SKqh0pxbBoP1Mw] moved from [/var/lib/elasticsearch/es-cluster/nodes/0/indices/graylog_1] to [/var/lib/elasticsearch/es-cluster/nodes/0/indices/7lgD97E4SKqh0pxbBoP1Mw]
[2017-08-16T09:14:49,916][INFO ][o.e.c.u.IndexFolderUpgrader] [graylog_0/eOc8PVeIRj6P6pyzJS8O2g] upgrading [/var/lib/elasticsearch/es-cluster/nodes/0/indices/graylog_0] to new naming convention
[2017-08-16T09:14:49,917][INFO ][o.e.c.u.IndexFolderUpgrader] [graylog_0/eOc8PVeIRj6P6pyzJS8O2g] moved from [/var/lib/elasticsearch/es-cluster/nodes/0/indices/graylog_0] to [/var/lib/elasticsearch/es-cluster/nodes/0/indices/eOc8PVeIRj6P6pyzJS8O2g]
[2017-08-16T09:14:49,922][INFO ][o.e.c.u.IndexFolderUpgrader] [graylog_4/6JbZd-gjTk-dWhPk96G3kw] upgrading [/var/lib/elasticsearch/es-cluster/nodes/0/indices/graylog_4] to new naming convention
[2017-08-16T09:14:49,923][INFO ][o.e.c.u.IndexFolderUpgrader] [graylog_4/6JbZd-gjTk-dWhPk96G3kw] moved from [/var/lib/elasticsearch/es-cluster/nodes/0/indices/graylog_4] to [/var/lib/elasticsearch/es-cluster/nodes/0/indices/6JbZd-gjTk-dWhPk96G3kw]
[2017-08-16T09:14:49,928][INFO ][o.e.c.u.IndexFolderUpgrader] [graylog_3/3dTUvsTuTx2YzZMfIDBOXw] upgrading [/var/lib/elasticsearch/es-cluster/nodes/0/indices/graylog_3] to new naming convention
[2017-08-16T09:14:49,930][INFO ][o.e.c.u.IndexFolderUpgrader] [graylog_3/3dTUvsTuTx2YzZMfIDBOXw] moved from [/var/lib/elasticsearch/es-cluster/nodes/0/indices/graylog_3] to [/var/lib/elasticsearch/es-cluster/nodes/0/indices/3dTUvsTuTx2YzZMfIDBOXw]
[2017-08-16T09:14:49,937][INFO ][o.e.c.u.IndexFolderUpgrader] [graylog_2/kwXU92I1SDaWGDc5xlwkyQ] upgrading [/var/lib/elasticsearch/es-cluster/nodes/0/indices/graylog_2] to new naming convention
[2017-08-16T09:14:49,938][INFO ][o.e.c.u.IndexFolderUpgrader] [graylog_2/kwXU92I1SDaWGDc5xlwkyQ] moved from [/var/lib/elasticsearch/es-cluster/nodes/0/indices/graylog_2] to [/var/lib/elasticsearch/es-cluster/nodes/0/indices/kwXU92I1SDaWGDc5xlwkyQ]
[2017-08-16T09:14:50,232][INFO ][o.e.n.Node ] [es1] initialized
[2017-08-16T09:14:50,232][INFO ][o.e.n.Node ] [es1] starting …
[2017-08-16T09:14:50,470][INFO ][o.e.t.TransportService ] [es1] publish_address {10.100.101.199:9300}, bound_addresses {[::1]:9300}, {127.0.0.1:9300}, {10.100.101.199:9300}, {[fe80::250:56ff:feb3:1fb7]:9300}
[2017-08-16T09:14:50,483][INFO ][o.e.b.BootstrapChecks ] [es1] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
[2017-08-16T09:14:53,566][INFO ][o.e.c.s.ClusterService ] [es1] new_master {es1}{yo1NvEn-SQC0FCP0IZ2G9w}{0tVEyCgnRIa7yFb03d0ibQ}{10.100.101.199}{10.100.101.199:9300}, reason: zen-disco-elected-as-master ([0] nodes joined)
[2017-08-16T09:14:53,671][INFO ][o.e.h.n.Netty4HttpServerTransport] [es1] publish_address {10.100.101.199:9200}, bound_addresses {[::1]:9200}, {127.0.0.1:9200}, {10.100.101.199:9200}, {[fe80::250:56ff:feb3:1fb7]:9200}
[2017-08-16T09:14:53,672][INFO ][o.e.n.Node ] [es1] started
[2017-08-16T09:14:53,903][INFO ][o.e.c.s.ClusterSettings ] [es1] updating [cluster.routing.allocation.enable] from [ALL] to [none]
[2017-08-16T09:14:54,043][INFO ][o.e.g.GatewayService ] [es1] recovered [5] indices into cluster_state
[2017-08-16T09:14:54,318][WARN ][o.e.c.m.MetaDataMappingService] [es1] [graylog_1] re-syncing mappings with cluster state because of types [[message]]
[2017-08-16T09:14:54,318][WARN ][o.e.c.m.MetaDataMappingService] [es1] [graylog_4] re-syncing mappings with cluster state because of types [[message]]
[2017-08-16T09:14:54,318][WARN ][o.e.c.m.MetaDataMappingService] [es1] [graylog_3] re-syncing mappings with cluster state because of types [[message]]
[2017-08-16T09:14:54,319][WARN ][o.e.c.m.MetaDataMappingService] [es1] [graylog_2] re-syncing mappings with cluster state because of types [[message]]
[2017-08-16T09:14:54,606][WARN ][o.e.c.m.MetaDataMappingService] [es1] [graylog_0] re-syncing mappings with cluster state because of types [[message]]
[2017-08-16T09:15:52,291][INFO ][o.e.c.s.ClusterService ] [es1] added {{es2}{jxuIgyMYTOmK8ruKcFyUlA}{gX0vbJ81RjuZQrYMWWGLqw}{10.100.101.197}{10.100.101.197:9300},}, reason: zen-disco-node-join[{es2}{jxuIgyMYTOmK8ruKcFyUlA}{gX0vbJ81RjuZQrYMWWGLqw}{10.100.101.197}{10.100.101.197:9300}]
[2017-08-16T09:15:52,528][WARN ][o.e.d.z.ElectMasterService] [es1] value for setting “discovery.zen.minimum_master_nodes” is too low. This can result in data loss! Please set it to at least a quorum of master-eligible nodes (current value: [-1], total number of master-eligible nodes used for publishing in this round: [2])
[2017-08-16T09:16:40,561][INFO ][o.e.c.s.ClusterService ] [es1] added {{es3}{hhWJUGYMTpyhk6SVHvRGEw}{ANQEgBitQ3uCLa7WFrwWrQ}{10.100.101.196}{10.100.101.196:9300},}, reason: zen-disco-node-join[{es3}{hhWJUGYMTpyhk6SVHvRGEw}{ANQEgBitQ3uCLa7WFrwWrQ}{10.100.101.196}{10.100.101.196:9300}]
[2017-08-16T09:16:41,150][INFO ][o.e.c.r.a.AllocationService] [es1] Cluster health status changed from [RED] to [GREEN] (reason: [shards started [[graylog_2][0], [graylog_3][0], [graylog_4][0], [graylog_0][0]] …]).