apache / apache/openwhisk

ElasticSearchActivationStore fails to list activations

Open
#5,209 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Scala
Stars
6.8k
Forks
1.2k
Avg merge
2d 14h
Merged PRs (30d)
2

Description

Currently openwhisk uses elastic4s version 6.7.4 which isn't compatible with Elasticsearch 7+ or Opensearch.

## Environment details:

* Kubernetes
* External Elasticsearch cluster, version 7.10.X

## Steps to reproduce the issue:

1. Configure the Elasticsearch cluster as an activation store
2. Query for a list of activations: `https://dear-dora.turnbull.corp:31001/api/v1/namespaces/_/activations`

## Provide the expected results and outputs:

```
controller [2022-04-05T18:10:41.073Z] [INFO] [#tid_QgKA5MhbCIJeuduXRGSoU7oqBXIrrq90] GET /api/v1/namespaces/_/activations
controller [2022-04-05T18:10:41.076Z] [INFO] [#tid_QgKA5MhbCIJeuduXRGSoU7oqBXIrrq90] [Identity] [GET] serving from datastore: CacheKey(69cbc3fa-1f6e-49fd-bcef-064140022846) [marker:database_cacheMiss_counter:3]
controller [2022-04-05T18:10:41.076Z] [INFO] [#tid_QgKA5MhbCIJeuduXRGSoU7oqBXIrrq90] [CouchDbRestStore] [QUERY] 'test_subjects' searching 'subjects.v2.0.0/identities [marker:database_queryView_start:3]
controller [2022-04-05T18:10:41.109Z] [INFO] [#tid_QgKA5MhbCIJeuduXRGSoU7oqBXIrrq90] [CouchDbRestStore] [marker:database_queryView_finish:36:33]
controller [2022-04-05T18:10:41.112Z] [INFO] [#tid_QgKA5MhbCIJeuduXRGSoU7oqBXIrrq90] [ElasticSearchActivationStore] [QUERY] 'activations' [marker:database_queryView_start:39]
controller [2022-04-05T18:10:41.222Z] [INFO] [#tid_QgKA5MhbCIJeuduXRGSoU7oqBXIrrq90] [ElasticSearchActivationStore] [marker:database_queryView_finish:149:110]
controller [2022-04-05T18:10:41.223Z] [INFO] [#tid_QgKA5MhbCIJeuduXRGSoU7oqBXIrrq90] [BasicHttpService] [marker:http_get.200_counter:150:150]
```

## Provide the actual results and outputs:

```
controller [2022-04-04T13:43:26.466Z] [INFO] [#tid_uWOHN1oe9QLX2WgdhGUy1kLCqE2BynUQ] GET /api/v1/namespaces/_/activations
controller [2022-04-04T13:43:26.469Z] [INFO] [#tid_uWOHN1oe9QLX2WgdhGUy1kLCqE2BynUQ] [Identity] [GET] serving from cache: CacheKey(69cbc3fa-1f6e-49fd-bcef-064140022846) [marker:database_cacheHit_counter:3]
controller [2022-04-04T13:43:26.472Z] [INFO] [#tid_uWOHN1oe9QLX2WgdhGUy1kLCqE2BynUQ] [ElasticSearchActivationStore] [QUERY] 'activations' [marker:database_queryView_start:7]
controller [2022-04-04T13:43:26.516Z] [ERROR] [#tid_uWOHN1oe9QLX2WgdhGUy1kLCqE2BynUQ] [StoreUtils] failed to query activation with error Cannot deserialize instance of `long` out of START_OBJECT token
controller at [Source: (String)"{"took":12,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":23,"relation":"eq"},"max_score":null,"hits":[{"_index":"openwhisk-activations","_type":"_doc","_id":"guest/f5700db314f849f8b00db314f839f88f","_score":null,"_source":{"@timestamp":"2022-04-04T04:44:20.399646593Z","activationId":"f5700db314f849f8b00db314f839f88f","annotations":{"path":"whisk.system/alarms/alarm","waitTime":19,"kind":"nodejs:14","timeout":false,"limits":{"concurrency":1"[truncated 17641 chars]; line: 1, column: 106] (through reference chain: com.sksamuel.elastic4s.http.search.SearchResponse["hits"]->com.sksamuel.elastic4s.http.search.SearchHits["total"]) [MismatchedInputException]
controller com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `long` out of START_OBJECT token
controller at [Source: (String)"{"took":12,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":23,"relation":"eq"},"max_score":null,"hits":[{"_index":"openwhisk-activations","_type":"_doc","_id":"guest/f5700db314f849f8b00db314f839f88f","_score":null,"_source":{"@timestamp":"2022-04-04T04:44:20.399646593Z","activationId":"f5700db314f849f8b00db314f839f88f","annotations":{"path":"whisk.system/alarms/alarm","waitTime":19,"kind":"nodejs:14","timeout":false,"limits":{"concurrency":1"[truncated 17641 chars]; line: 1, column: 106] (through reference chain: com.sksamuel.elastic4s.http.search.SearchResponse["hits"]->com.sksamuel.elastic4s.http.search.SearchHits["total"])
controller at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
controller at com.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch(DeserializationContext.java:1442)
controller at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1216)
controller at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1126)
controller at com.fasterxml.jackson.databind.deser.std.NumberDeserializers$LongDeserializer._parseLong(NumberDeserializers.java:593)
controller at com.fasterxml.jackson.databind.deser.std.NumberDeserializers$LongDeserializer.deserialize(NumberDeserializers.java:557)
controller at com.fasterxml.jackson.databind.deser.std.NumberDeserializers$LongDeserializer.deserialize(NumberDeserializers.java:535)
controller at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:530)
controller at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:528)
controller at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:417)
controller at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1287)
controller at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:326)
controller at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:159)
controller at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:530)
controller at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:528)
controller at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:417)
controller at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1287)
controller at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:326)
controller at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:159)
controller at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4202)
controller at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3205)
controller at com.fasterxml.jackson.module.scala.ScalaObjectMapper.readValue(ScalaObjectMapper.scala:191)
controller at com.fasterxml.jackson.module.scala.ScalaObjectMapper.readValue$(ScalaObjectMapper.scala:190)
controller at com.sksamuel.elastic4s.json.JacksonSupport$$anon$1.readValue(JacksonSupport.scala:11)
controller at com.sksamuel.elastic4s.http.ResponseHandler$.fromEntity(ResponseHandler.scala:35)
controller at com.sksamuel.elastic4s.http.DefaultResponseHandler.handle(ResponseHandler.scala:47)
controller at com.sksamuel.elastic4s.http.ElasticClient.$anonfun$execute$1(ElasticClient.scala:33)
controller at com.sksamuel.elastic4s.http.ElasticClient$$Lambda$2891/00000000A044AE60.apply(Unknown Source)
controller at scala.util.Success.$anonfun$map$1(Try.scala:255)
controller at scala.util.Success.map(Try.scala:213)
controller at scala.concurrent.Future.$anonfun$map$1(Future.scala:292)
controller at scala.concurrent.Future$$Lambda$352/0000000049455B60.apply(Unknown Source)
controller at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:33)
controller at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:33)
controller at scala.concurrent.impl.Promise$$Lambda$201/000000004922A8A0.apply(Unknown Source)
controller at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64)
controller at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:56)
controller at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:93)
controller at akka.dispatch.BatchingExecutor$BlockableBatch$$Lambda$439/000000008C056BD0.apply$mcV$sp(Unknown Source)
controller at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
controller at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:85)
controller at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:93)
controller at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:48)
controller at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:48)
controller at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
controller at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
controller at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
controller at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
controller at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
controller [marker:database_queryView_error:51:43]
controller [2022-04-04T13:43:26.517Z] [ERROR] [#tid_uWOHN1oe9QLX2WgdhGUy1kLCqE2BynUQ] [ActivationsApi] [LIST] entity failed: Cannot deserialize instance of `long` out of START_OBJECT token
controller at [Source: (String)"{"took":12,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":23,"relation":"eq"},"max_score":null,"hits":[{"_index":"openwhisk-activations","_type":"_doc","_id":"guest/f5700db314f849f8b00db314f839f88f","_score":null,"_source":{"@timestamp":"2022-04-04T04:44:20.399646593Z","activationId":"f5700db314f849f8b00db314f839f88f","annotations":{"path":"whisk.system/alarms/alarm","waitTime":19,"kind":"nodejs:14","timeout":false,"limits":{"concurrency":1"[truncated 17641 chars]; line: 1, column: 106] (through reference chain: com.sksamuel.elastic4s.http.search.SearchResponse["hits"]->com.sksamuel.elastic4s.http.search.SearchHits["total"])
controller [2022-04-04T13:43:26.517Z] [INFO] [#tid_uWOHN1oe9QLX2WgdhGUy1kLCqE2BynUQ] [BasicHttpService] [marker:http_get.500_counter:52:52]
```

## Additional information you deem important:
* elastic4s is version 6.7.4

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.