spotify / heroic

The Heroic Time Series Database
https://spotify.github.io/heroic/
Apache License 2.0
848 stars 109 forks source link

Unrecognized field "clientSetup" #148

Closed valentin-fischer closed 5 years ago

valentin-fischer commented 7 years ago

Hi,

After pushing more and more metrics, my ES server seems to be running out of memory so I've made an ES cluster to get more performance out of it. It seems that either the docs or my config are not correct for ES:

12:07:18.643 [main] ERROR com.spotify.heroic.HeroicService - Failed to create Heroic instance
java.lang.RuntimeException: /etc/heroic/heroic-bigdata.yml[43:1]: Unrecognized field "clientSetup" (class com.spotify.heroic.elasticsearch.ConnectionModule), not marked as ignorable
    at com.spotify.heroic.HeroicConfig.loadConfig(HeroicConfig.java:131)
    at com.spotify.heroic.HeroicCore.config(HeroicCore.java:620)
    at com.spotify.heroic.HeroicCore.newInstance(HeroicCore.java:223)
    at com.spotify.heroic.HeroicService.main(HeroicService.java:101)
    at com.spotify.heroic.HeroicService.main(HeroicService.java:60)
Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "clientSetup" (class com.spotify.heroic.elasticsearch.ConnectionModule), not marked as ignorable (6 known properties: "seeds", "clusterName", "client", "nodeClient", "index", "templateName"])
 at [Source: sun.nio.ch.ChannelInputStream@7d61eb55; line: 43, column: 1] (through reference chain: com.spotify.heroic.Builder["metadata"]->com.spotify.heroic.metadata.Builder["backends"]->java.util.ArrayList[0]->com.spotify.heroic.metadata.elasticsearch.ElasticsearchMetadataModule["connection"]->com.spotify.heroic.elasticsearch.ConnectionModule["clientSetup"])
    at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:62)
    at com.fasterxml.jackson.databind.DeserializationContext.reportUnknownProperty(DeserializationContext.java:851)
    at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:1085)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1389)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperties(BeanDeserializerBase.java:1343)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:455)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1123)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:298)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:133)
    at com.fasterxml.jackson.datatype.jdk8.OptionalDeserializer.deserialize(OptionalDeserializer.java:90)
    at com.fasterxml.jackson.datatype.jdk8.OptionalDeserializer.deserialize(OptionalDeserializer.java:13)
    at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:490)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:465)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:380)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1123)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:298)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:168)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:135)
    at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:120)
    at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:91)
    at com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:142)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:279)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:249)
    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:26)
    at com.fasterxml.jackson.datatype.jdk8.OptionalDeserializer.deserialize(OptionalDeserializer.java:90)
    at com.fasterxml.jackson.datatype.jdk8.OptionalDeserializer.deserialize(OptionalDeserializer.java:13)
    at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:490)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:465)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:380)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1123)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:298)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:133)
    at com.fasterxml.jackson.datatype.jdk8.OptionalDeserializer.deserialize(OptionalDeserializer.java:90)
    at com.fasterxml.jackson.datatype.jdk8.OptionalDeserializer.deserialize(OptionalDeserializer.java:13)
    at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:490)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:465)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:380)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1123)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:298)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:133)
    at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:3779)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2050)
    at com.fasterxml.jackson.core.JsonParser.readValueAs(JsonParser.java:1511)
    at com.spotify.heroic.HeroicConfig.loadConfig(HeroicConfig.java:163)
    at com.spotify.heroic.HeroicConfig.loadConfig(HeroicConfig.java:125)
    ... 4 more

My config is the following:

backends:
    - type: elasticsearch
      backendType: kv
      connection:
       clientSetup: "transport"
       index:
         type: rotating
         interval: 1d
       seeds:
           - "heroic-e.cc"
           - "heroic-e1.cc"
           - "heroic-e2.cc"
       clusterName: "heroic" 

Any ideas why?

valentin-fischer commented 7 years ago

Ok...seems that clientSetup was renamed to client.

udoprog commented 7 years ago

It seems like the documentation for the elasticsearch connection should be fixed: http://spotify.github.io/heroic/#!/docs/config/elasticsearch_connection