(Please bear in mind that I am new to ElasticSearch and I am not a web programmer)
So we have a site that uses ElasticSearch (in AWS) to look up names for our site. It is on version 6.8 and works fine. If I upgrade it to 7.4 it looks like there is still data there according to the AWS ElasticSearch dashboard, but after the upgrade the search does not work and behind the scenes the developer is getting the errors I will put at the end of this post.
I initially tried upgrading to 7.10 and that did the same. I roll the cluster back to 6.8, restore the data from a snapshot (because when I roll back the data is then gone), and all works fine again.
To first test an upgrade I created an identical version 6.8 ES cluster, loaded it with the sample data that AWS handily provides in Kibana, then I upgraded it to 7.4 and I could still access the data (in Kibana).
Are there any special things I can do to further test after an upgrade to see what the issue might be? Special curl commands?
Might our data be structured in a certain way as to make it only compatible in 6.x?
Are there newer libraries that the devs should be using to help this?
Some of the errors the devs provided me :
2022-09-20 11:45:53,904 [https-executor-pool-39]: ERROR com.biperf.core.ui.search.AutoCompleteController.handleInternalException(AutoCompleteController.java:317) - Requested URL=https://celebratingyouqa.coke.com/celebratingyou/search/paxHeroSearch.action java.lang.UnsupportedOperationException: JsonObject at com.google.gson.JsonElement.getAsLong(JsonElement.java:224) at io.searchbox.core.SearchResult.getTotal(SearchResult.java:205) at com.biperf.core.value.indexing.ESResultWrapper.getHits(ESResultWrapper.java:34) at com.biperf.core.service.participant.impl.AutoCompleteServiceImpl.search(AutoCompleteServiceImpl.java:104) at jdk.internal.reflect.GeneratedMethodAccessor3385.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at com.biperf.cache.annotations.aop.CacheableInterceptor.invoke(CacheableInterceptor.java:116) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at com.biperf.cache.annotations.aop.ReadOnlyCacheableInterceptor.invoke(ReadOnlyCacheableInterceptor.java:93)
It seems you're using Jest searchbox and that client library is not supported anymore. It seems other people have had issues when upgrading from ES 6 to ES 7