Skip to content
This repository has been archived by the owner on Nov 22, 2017. It is now read-only.

After installation on Kibana 4.2.0 the page is blank #12

Closed
driskell opened this issue Nov 13, 2015 · 32 comments
Closed

After installation on Kibana 4.2.0 the page is blank #12

driskell opened this issue Nov 13, 2015 · 32 comments

Comments

@driskell
Copy link

Hello!

Just tried installing. That's fine. But when going to the Timelion page it is blank.

I see this in the browser console:

[Error] Failed to load resource: the server responded with a status of 400 (Bad Request) (timelion-sheet, line 0)
http://IPADDRESS/elasticsearch/.kibana/_mapping/timelion-sheet
[Error] Error: [illegal_argument_exception] Mapper for [version] conflicts with existing mapping in other types:
[mapper [version] cannot be changed from type [long] to [int]]
ErrorAbstract@http://IPADDRESS/bundles/timelion.bundle.js:32485:29
StatusCodeError@http://IPADDRESS/bundles/timelion.bundle.js:32647:24
respond@http://IPADDRESS/bundles/timelion.bundle.js:33852:34
checkRespForFailure@http://IPADDRESS/bundles/timelion.bundle.js:33815:15
http://IPADDRESS/bundles/timelion.bundle.js:32433:10
wrappedErrback@http://IPADDRESS/bundles/commons.bundle.js:38622:79
wrappedErrback@http://IPADDRESS/bundles/commons.bundle.js:38622:79
wrappedErrback@http://IPADDRESS/bundles/commons.bundle.js:38622:79
http://IPADDRESS/bundles/commons.bundle.js:38755:77
$eval@http://IPADDRESS/bundles/commons.bundle.js:39742:29
$digest@http://IPADDRESS/bundles/commons.bundle.js:39554:37
$apply@http://IPADDRESS/bundles/commons.bundle.js:39846:32
done@http://IPADDRESS/bundles/commons.bundle.js:35381:52
completeRequest@http://IPADDRESS/bundles/commons.bundle.js:35595:16
onreadystatechange@http://IPADDRESS/bundles/commons.bundle.js:35534:27
commons.bundle.js:37057

Inspecting the response to the http://IPADDRESS/elasticsearch/.kibana/_mapping/timelion-sheet call I can see:

{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Mapper for [version] conflicts with existing mapping in other types:\n[mapper [version] cannot be changed from type [long] to [int]]"}],"type":"illegal_argument_exception","reason":"Mapper for [version] conflicts with existing mapping in other types:\n[mapper [version] cannot be changed from type [long] to [int]]"},"status":400}

I can see one related thing on the Kibana Issues to this but it's the other way around, int to long.

@rashidkpc
Copy link
Contributor

This was a Kibana bug that was fixed here: elastic/kibana#4509

@driskell
Copy link
Author

Experiencing the same issue in 4.2.1. Was it meant to be fixed? Or is there a manual action I need to perform?

@driskell
Copy link
Author

Ended up having to run the following:

curl -XPUT http://IPADDRESS:9200/.kibana/_mapping/timelion-sheet -d '{"timelion-sheet":{"properties":{"title":{"type":"string"},"hits":{"type":"integer"},"description":{"type":"string"},"timelion_sheet":{"type":"string"},"timelion_interval":{"type":"string"},"timelion_other_interval":{"type":"string"},"timelion_chart_height":{"type":"integer"},"timelion_columns":{"type":"integer"},"timelion_rows":{"type":"integer"},"version":{"type":"long"},"kibanaSavedObjectMeta":{"properties":{"searchSourceJSON":{"type":"string"}}}}}}'

Looks like for some reason my .kibana index (likely as it's been upgraded all the way from early v4 betas) has the "version" mapping as "long". Once I modified the timelion-sheet PUT request and performed it manually as above it now loads. Thought not sure how to actually fix the mapping... Spent an hour trying to work out a way to create new .kibana index and copy things over but can't quite get anything to copy the documents and would rather avoid scripting something myself. Tried elasticsearch-exporter but it detects zero documents.

@dfr0
Copy link

dfr0 commented Nov 19, 2015

I've the same problem

image

image

I've configured a reverse proxy on apache

<Location /bundles>
ProxyPass http://***_:5601/bundles
ProxyPassReverse http://
_*******:5601/bundles

<Location /app/kibana>
ProxyPass http://***_:5601/app/kibana
ProxyPassReverse http://_
:5601/app/kibana/

@bradisbell
Copy link

I'm getting the same problem on /elasticsearch/.kibana/_mapping/dashboard with Kibana 4.3.0 after accidentally deleting the .kibana index and letting it re-build. I've never had a different version of Kibana installed, and this is a brand new installation.

Mapper for [version] conflicts with existing mapping in other types:
[mapper [version] cannot be changed from type [long] to [int]]"}],"type":"illegal_argument_exception","reason":"Mapper for [version] conflicts with existing mapping in other types:
[mapper [version] cannot be changed from type [long] to [int]]

I seem to have fixed it by running:

 curl -XPUT http://localhost:9200/.kibana/_mapping/dashboard -d '{
   "dashboard":{
      "properties":{
         "title":{
            "type":"string"
         },
         "hits":{
            "type":"integer"
         },
         "description":{
            "type":"string"
         },
         "panelsJSON":{
            "type":"string"
         },
         "optionsJSON":{
            "type":"string"
         },
         "uiStateJSON":{
            "type":"string"
         },
         "version":{
            "type":"long"
         },
         "timeRestore":{
            "type":"boolean"
         },
         "timeTo":{
            "type":"string"
         },
         "timeFrom":{
            "type":"string"
         },
         "kibanaSavedObjectMeta":{
            "properties":{
               "searchSourceJSON":{
                  "type":"string"
               }
            }
         }
      }
   }
}'

@vlad-aleksandrov
Copy link

Fix for kibana 4.3.0:

curl -XPUT http://IPADDRESS:9200/.kibana/_mapping/timelion-sheet -d '{"timelion-sheet":{"properties":{"title":{"type":"string"},"hits":{"type":"long"},"description":{"type":"string"},"timelion_sheet":{"type":"string"},"timelion_interval":{"type":"string"},"timelion_other_interval":{"type":"string"},"timelion_chart_height":{"type":"integer"},"timelion_columns":{"type":"integer"},"timelion_rows":{"type":"integer"},"version":{"type":"long"},"kibanaSavedObjectMeta":{"properties":{"searchSourceJSON":{"type":"string"}}}}}}'

@rmrfslashbin
Copy link

Confirmed; the above fix by @vlad-aleksandrov corrected the issue in my install.

@monotek
Copy link

monotek commented Apr 7, 2016

same here in kibana 4.5 :-/

fixed by: "curl -XPUT http://IP:9200/.kibana/_mapping/timelion-sheet -d '{"timelion-sheet":{"properties":{"title":{"type":"string"},"hits":{"type":"integer"},"description":{"type":"string"},"timelion_sheet":{"type":"string"},"timelion_interval":{"type":"string"},"timelion_other_interval":{"type":"string"},"timelion_chart_height":{"type":"integer"},"timelion_columns":{"type":"integer"},"timelion_rows":{"type":"integer"},"version":{"type":"long"},"kibanaSavedObjectMeta":{"properties":{"searchSourceJSON":{"type":"string"}}}}}}'"

@czerasz
Copy link

czerasz commented Apr 7, 2016

Putting the mapping worked for me as well but I had to use the search instead of timelion-sheet:

PUT /.kibana/_mapping/timelion-sheetsearch
{
  "search": {
    "properties": {
      "title": {
        "type": "string"
      },
      "hits": {
        "type": "long"
      },
      "description": {
        "type": "string"
      },
      "timelion_sheet": {
        "type": "string"
      },
      "timelion_interval": {
        "type": "string"
      },
      "timelion_other_interval": {
        "type": "string"
      },
      "timelion_chart_height": {
        "type": "integer"
      },
      "timelion_columns": {
        "type": "integer"
      },
      "timelion_rows": {
        "type": "integer"
      },
      "version": {
        "type": "long"
      },
      "kibanaSavedObjectMeta": {
        "properties": {
          "searchSourceJSON": {
            "type": "string"
          }
        }
      }
    }
  }
}

Kibana details:

  • Version: 4.3.0
  • Build: 9369
  • Commit: SHA e32749e

@jprusch
Copy link

jprusch commented Jun 10, 2016

For 4.5.1 use

"curl -XPUT http://IP:9200/.kibana/_mapping/timelion-sheet -d '{"timelion-sheet":{"properties":{"title":{"type":"string"},"hits":{"type":"long"},"description":{"type":"string"},"timelion_sheet":{"type":"string"},"timelion_interval":{"type":"string"},"timelion_other_interval":{"type":"string"},"timelion_chart_height":{"type":"integer"},"timelion_columns":{"type":"integer"},"timelion_rows":{"type":"integer"},"version":{"type":"long"},"kibanaSavedObjectMeta":{"properties":{"searchSourceJSON":{"type":"string"}}}}}}'"

@waldemarnt
Copy link

Why this issue is closed? I have the same issue with the version 4.5.1
Thanks @jprusch for your manual solution

@bstascavage
Copy link

This issue still persists in 4.6.0. Because of this, timelion is literally useless with my current Elasticsearch cluster

@exabrial
Copy link

+1 this is still an issue

@kasabov
Copy link

kasabov commented Nov 14, 2016

Happens to me with latest Kibana 5.0.0 too.

@ppisljar
Copy link
Member

@kasabov on 5.0.0 you don't need to install timelion any more as its part of the core plugins.
in case you already installed it you can remove it with bin/kibana-plugins remove timelion

@kasabov
Copy link

kasabov commented Nov 14, 2016

@ppisljar you're right, timelion was installed by default with the latest Kibana 5.0.0. However, navigating to the timelion page shows a blank page due to the faulty mappings discussed on this page.

@wyukawa
Copy link

wyukawa commented Nov 18, 2016

Happens to me with latest Kibana 5.0.1 too.

{
    "error": {
        "reason": "mapper [hits] cannot be changed from type [long] to [integer]", 
        "root_cause": [
            {
                "reason": "[...][...][indices:admin/mapping/put]", 
                "type": "remote_transport_exception"
            }
        ], 
        "type": "illegal_argument_exception"
    }, 
    "status": 400
}

elasticsearch log

[2016-11-18T16:35:48,210][DEBUG][o.e.a.a.i.m.p.TransportPutMappingAction] [...] failed to put mappings on indices [[[.kibana/bXfFwplIT1-GhfmQ_YIJ3g]]], type [timelion-sheet]
java.lang.IllegalArgumentException: mapper [hits] cannot be changed from type [long] to [integer]
        at org.elasticsearch.index.mapper.MappedFieldType.checkTypeName(MappedFieldType.java:144) ~[elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.index.mapper.MappedFieldType.checkCompatibility(MappedFieldType.java:156) ~[elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.index.mapper.LegacyNumberFieldMapper$NumberFieldType.checkCompatibility(LegacyNumberFieldMapper.java:133) ~[elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.index.mapper.FieldTypeLookup.checkCompatibility(FieldTypeLookup.java:128) ~[elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.index.mapper.FieldTypeLookup.copyAndAddAll(FieldTypeLookup.java:94) ~[elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.index.mapper.MapperService.merge(MapperService.java:324) ~[elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.index.mapper.MapperService.merge(MapperService.java:277) ~[elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.cluster.metadata.MetaDataMappingService$PutMappingExecutor.applyRequest(MetaDataMappingService.java:323) ~[elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.cluster.metadata.MetaDataMappingService$PutMappingExecutor.execute(MetaDataMappingService.java:241) ~[elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.cluster.service.ClusterService.runTasksForExecutor(ClusterService.java:555) [elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.cluster.service.ClusterService$UpdateTask.run(ClusterService.java:896) [elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:451) [elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:238) [elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:201) [elasticsearch-5.0.1.jar:5.0.1]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_102]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_102]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_102]

@perlei
Copy link

perlei commented Dec 15, 2016

Same here with Kibana 5.1.1

Dec 15 15:15:48 tester.com elasticsearch: java.lang.IllegalArgumentException: mapper [hits] cannot be changed from type [long] to [integer]
Dec 15 15:15:48 tester.com elasticsearch: 	at org.elasticsearch.index.mapper.MappedFieldType.checkTypeName(MappedFieldType.java:146) ~[elasticsearch-5.1.1.jar:5.1.1]
Dec 15 15:15:48 tester.com elasticsearch: 	at org.elasticsearch.index.mapper.MappedFieldType.checkCompatibility(MappedFieldType.java:158) ~[elasticsearch-5.1.1.jar:5.1.1]
Dec 15 15:15:48 tester.com elasticsearch: 	at org.elasticsearch.index.mapper.FieldTypeLookup.checkCompatibility(FieldTypeLookup.java:128) ~[elasticsearch-5.1.1.jar:5.1.1]
Dec 15 15:15:48 tester.com elasticsearch: 	at org.elasticsearch.index.mapper.FieldTypeLookup.copyAndAddAll(FieldTypeLookup.java:94) ~[elasticsearch-5.1.1.jar:5.1.1]
Dec 15 15:15:48 tester.com elasticsearch: 	at org.elasticsearch.index.mapper.MapperService.merge(MapperService.java:330) ~[elasticsearch-5.1.1.jar:5.1.1]
Dec 15 15:15:48 tester.com elasticsearch: 	at org.elasticsearch.index.mapper.MapperService.merge(MapperService.java:283) ~[elasticsearch-5.1.1.jar:5.1.1]
Dec 15 15:15:48 tester.com elasticsearch: 	at org.elasticsearch.cluster.metadata.MetaDataMappingService$PutMappingExecutor.applyRequest(MetaDataMappingService.java:313) ~[elasticsearch-5.1.1.jar:5.1.1]
Dec 15 15:15:48 tester.com elasticsearch: 	at org.elasticsearch.cluster.metadata.MetaDataMappingService$PutMappingExecutor.execute(MetaDataMappingService.java:232) ~[elasticsearch-5.1.1.jar:5.1.1]
Dec 15 15:15:48 tester.com elasticsearch: 	at org.elasticsearch.cluster.service.ClusterService.runTasksForExecutor(ClusterService.java:581) [elasticsearch-5.1.1.jar:5.1.1]
Dec 15 15:15:48 tester.com elasticsearch: 	at org.elasticsearch.cluster.service.ClusterService$UpdateTask.run(ClusterService.java:920) [elasticsearch-5.1.1.jar:5.1.1]
Dec 15 15:15:48 tester.com elasticsearch: 	at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:458) [elasticsearch-5.1.1.jar:5.1.1]
Dec 15 15:15:48 tester.com elasticsearch: 	at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:238) [elasticsearch-5.1.1.jar:5.1.1]
Dec 15 15:15:48 tester.com elasticsearch: 	at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:201) [elasticsearch-5.1.1.jar:5.1.1]
Dec 15 15:15:48 tester.com elasticsearch: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_112]
Dec 15 15:15:48 tester.com elasticsearch: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_112]
Dec 15 15:15:48 tester.com elasticsearch: 	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_112]

@pmoust
Copy link
Member

pmoust commented Dec 20, 2016

can confirm that I've it the same.

@maniankara
Copy link

Is there a work around for this?
@ppisljar does not work with 5.1, kibana-plugin list shows its as not installed.

@ppisljar
Copy link
Member

@maniankara could you please provide some more details:

  • are you upgrading from previous version ?
  • are you getting exactly same error in console ?
  • did you install timelion plugin in the first place or you just installed kibana and are still getting this same error ?

@wyukawa
Copy link

wyukawa commented Dec 22, 2016

In my case, I upgraded from Elasticsearch 2.4.1 and didn't install timelion plugin.

@ppisljar
Copy link
Member

@rashidkpc what would be the right way to address this in your opinion ?

@rashidkpc
Copy link
Contributor

There's probably not much we can do, this can happen if someone imports saved objects into Kibana without using Kibana's built in importer. If at any time someone allows a document with a hits field to by dynamically mapped by elasticsearch into the .kibana, its going to cause problems.

The problem isn't so much timelion as it is having a .kibana index that erroneously has hits mapped to a long for some type. Unfortunately elasticsearch does not allow for different field types across document types.

The right way to prevent this would be to turn off dynamic mapping in the .kibana index: elastic/kibana#4964. I can't recall why we decided not to move forward with that, but the issue should be raised again.

@ppisljar
Copy link
Member

@rashidkpc is there something users could do once they are in this situation to get out of it ?

@pawprint-net
Copy link

pawprint-net commented Jan 13, 2017

To bump and amplify what @ppisljar requested - if there is some advice for users stuck with a blank timelion page in 5.1.2 it would be great to know. All the suggested 4.x mapping fixes above error-out in the 5.x versions (at least they do for me)

@wyukawa
Copy link

wyukawa commented Feb 6, 2017

Although I upgrade to 5.2.0, this problem was not resolved.
Are there any workaround?

@valbuena
Copy link

I create index .kibana with { "index.mapper.dynamic": false } but then it doesn't work beacuse I get this error when I start Kibana: [type_missing_exception] type[config] missing, with ...

So how could I avoid this issue: Error: [illegal_argument_exception] mapper [hits] cannot be changed from type [long] to [integer] ?

Thank you

@pawprint-net
Copy link

Created a new issue #197 hoping this will spur some comment since it looks like nobody is watching this closed issue any more.

@valbuena
Copy link

valbuena commented Feb 28, 2017

Hi, I found a temporal solution:
I created a .kibana index with this mapping. This way when I insert data with elasticdump I don't have problems with hits and version fields, because they are pre-defined like integer type.

curl -XPUT 'http://elasticsearch:9200/.kibana?pretty' -H 'Content-Type: application/json' -d'
{
"mappings" : {
"default" : {
"properties" : {
"hits" : { "type" : "integer" },
"version" : { "type" : "integer" }
}}}
}
'

@barryhatfield
Copy link

barryhatfield commented Mar 17, 2017

After my upgrades I also encountered blank page issues.
elasticsearch 2.4.0 -> 5.2.2
kibana 4.6.0 -> 5.2.2

To resolve my blank pages from integer and version:

curl -XPOST '${ELASTICSEARCH_HOST}/_reindex?pretty' -d'
{
  "source": {
    "index": ".kibana1"
  },
  "dest": {
    "index": ".kibana2"
  },
  "script": {
    "inline": "ctx._source.remove(\"version\")"
  }
}
'

and

curl -XPOST '${ELASTICSEARCH_HOST}/_reindex?pretty' -d'
{
  "source": {
    "index": ".kibana2"
  },
  "dest": {
    "index": ".kibana3"
  },
  "script": {
    "inline": "ctx._source.remove(\"hits\")"
  }
}
'

This resolved my blank pages in management and visualization (from another post):

curl -XPOST '${ELASTICSEARCH_HOST}/.kibana3/_update_by_query?pretty&wait_for_completion&refresh' -H 'Content-Type: application/json' -d'
{
"script": {
"inline": "ctx._source.defaultIndex = null",
"lang": "painless"
},
"query": {
"term": {
"_type": "config"
}
}
}
'

Finally, be sure to update your .kibana index in your kibana/config/kibana.yml to .kibana3. You can always rollback to .kibana if you like.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests