# Basic License fails to install

**URL:** <https://discuss.elastic.co/t/basic-license-fails-to-install/46264>\
**Category:** Elasticsearch\
**Tags:** elastic-stack-monitoring\
**Created:** [April 4, 2016, 4:32pm UTC](https://discuss.elastic.co/t/basic-license-fails-to-install/46264 "2016-04-04T16:32:23Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![ethan.daugherty](https://avatars.discourse-cdn.com/v4/letter/e/b9e5f3/32.png) [@ethan.daugherty](https://discuss.elastic.co/u/ethan.daugherty)\
**Post date:** [April 4, 2016, 4:32pm UTC](https://discuss.elastic.co/t/basic-license-fails-to-install/46264/1 "2016-04-04T16:32:23Z")

</div>

I have a cluster running ES 2.3.0, the license and marvel agent plugins are installed on all nodes. Everything seems to be working properly with the temporarily generated license key.

When I attempt to install a basic license I get the following error:

{  
"error" : {  
"root\_cause" : [ {  
"type" : "transport\_serialization\_exception",  
"reason" : "Failed to deserialize response of type [org.elasticsearch.license.plugin.action.put.PutLicenseResponse]"  
} ],  
"type" : "transport\_serialization\_exception",  
"reason" : "Failed to deserialize response of type [org.elasticsearch.license.plugin.action.put.PutLicenseResponse]",  
"caused\_by" : {  
"type" : "array\_index\_out\_of\_bounds\_exception",  
"reason" : "1"  
}  
},  
"status" : 500  
}

The ES log contains the following error:  
[2016-04-04 16:26:24,057][WARN][rest.suppressed] /\_license Params: {pretty=}  
RemoteTransportException[[Failed to deserialize response of type [org.elasticsearch.license.plugin.action.put.PutLicenseResponse]]]; nested: TransportSerializationException[Failed to deserialize response of type [org.elasticsearch.license.plugin.action.put.PutLicenseResponse]]; nested: ArrayIndexOutOfBoundsException[1];  
Caused by: TransportSerializationException[Failed to deserialize response of type [org.elasticsearch.license.plugin.action.put.PutLicenseResponse]]; nested: ArrayIndexOutOfBoundsException[1];  
at org.elasticsearch.transport.netty.MessageChannelHandler.handleResponse(MessageChannelHandler.java:180)  
at org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:138)  
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)  
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)  
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)  
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)  
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)  
at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)  
at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)  
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)  
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)  
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)  
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)  
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)  
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)  
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)  
at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337)  
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)  
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)  
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)  
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)  
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)  
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)  
at java.lang.Thread.run(Thread.java:745)  
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1  
at org.elasticsearch.license.plugin.action.put.PutLicenseResponse.readFrom(PutLicenseResponse.java:74)  
at org.elasticsearch.transport.netty.MessageChannelHandler.handleResponse(MessageChannelHandler.java:178)  
... 23 more

Any assistance in getting this license applied would be appreciated.

---

<div class="post-metadata">

**Author:** ![skearns](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/skearns/32/125945_2.png) [@skearns](https://discuss.elastic.co/u/skearns)\
**Post date:** [April 4, 2016, 5:44pm UTC](https://discuss.elastic.co/t/basic-license-fails-to-install/46264/2 "2016-04-04T17:44:42Z")

</div>

Hey Ethan,

Can you share the exact command line you ran to add the license? This isn't an error I've seen before, so I'm wondering if there was a problem with the command to add the license.

Thanks,  
Steve

---

<div class="post-metadata">

**Author:** ![ethan.daugherty](https://avatars.discourse-cdn.com/v4/letter/e/b9e5f3/32.png) [@ethan.daugherty](https://discuss.elastic.co/u/ethan.daugherty)\
**Post date:** [April 4, 2016, 6:28pm UTC](https://discuss.elastic.co/t/basic-license-fails-to-install/46264/3 "2016-04-04T18:28:42Z")

</div>

curl -XPUT http://ip\_address:9200/\_license -d @license.json

---

<div class="post-metadata">

**Author:** ![pickypg](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/pickypg/32/62409_2.png) [@pickypg](https://discuss.elastic.co/u/pickypg)\
**Post date:** [April 4, 2016, 8:11pm UTC](https://discuss.elastic.co/t/basic-license-fails-to-install/46264/4 "2016-04-04T20:11:32Z")

</div>

Ethan,

Can you try redownloading your license or verifying that `@license.json` actually points to the file that you think?

I tried with your license internally on a fresh install of ES 2.3.0 and it worked without issue:

```auto
$ tar -xf elasticsearch-2.3.0.tar.gz
$ cd elasticsearch-2.3.0
$ bin/plugin install license
$ bin/plugin install marvel-agent
$ bin/elasticsearch

```

and from another shell:

```auto
$ curl -XPUT ip_address:9200/_license -d @../path/to/license.json

```

This worked without issue on my end. I also tested it with ES 2.3.1 as well as with a standalone master node and standalone data node clustered together. Can you also show the output of

```auto
$ curl -XGET ip_address:9200/_cat/plugins?v

```

---

<div class="post-metadata">

**Author:** ![ethan.daugherty](https://avatars.discourse-cdn.com/v4/letter/e/b9e5f3/32.png) [@ethan.daugherty](https://discuss.elastic.co/u/ethan.daugherty)\
**Post date:** [April 4, 2016, 8:18pm UTC](https://discuss.elastic.co/t/basic-license-fails-to-install/46264/5 "2016-04-04T20:18:10Z")

</div>

I tried grabbing the license file a second time earlier today without any change.

Plugins:

```auto
root@frclogmaster01:~# curl -XGET 10.1.0.4:9200/_cat/plugins?v
name component version type url
frclogmaster02 graph 2.3.0 j
frclogmaster02 head master s /_plugin/head/
frclogmaster02 license 2.3.0 j
frclogmaster02 marvel-agent 2.3.0 j
frclogdata03 graph 2.3.0 j
frclogdata03 head master s /_plugin/head/
frclogdata03 license 2.3.0 j
frclogdata03 marvel-agent 2.3.0 j
frclogdata01 graph 2.3.0 j
frclogdata01 head master s /_plugin/head/
frclogdata01 license 2.3.0 j
frclogdata01 marvel-agent 2.3.0 j
frclogdata05 graph 2.3.0 j
frclogdata05 head master s /_plugin/head/
frclogdata05 license 2.3.0 j
frclogdata05 marvel-agent 2.3.0 j
frclogingest02 graph 2.3.0 j
frclogingest02 head master s /_plugin/head/
frclogingest02 hq 1.0.0 s /_plugin/hq/
frclogingest02 license 2.3.0 j
frclogingest02 marvel-agent 2.3.0 j
frclogingest03 graph 2.3.0 j
frclogingest03 head master s /_plugin/head/
frclogingest03 hq 1.0.0 s /_plugin/hq/
frclogingest03 license 2.3.0 j
frclogingest03 marvel-agent 2.3.0 j
frclogingest01 graph 2.3.0 j
frclogingest01 head master s /_plugin/head/
frclogingest01 hq 1.0.0 s /_plugin/hq/
frclogingest01 license 2.3.0 j
frclogingest01 marvel-agent 2.3.0 j
frclogmaster03 graph 2.3.0 j
frclogmaster03 head master s /_plugin/head/
frclogmaster03 license 2.3.0 j
frclogmaster03 marvel-agent 2.3.0 j
frclogdata02 graph 2.3.0 j
frclogdata02 head master s /_plugin/head/
frclogdata02 license 2.3.0 j
frclogdata02 marvel-agent 2.3.0 j
frclogdata04 graph 2.3.0 j
frclogdata04 head master s /_plugin/head/
frclogdata04 license 2.3.0 j
frclogdata04 marvel-agent 2.3.0 j
frclogmaster01 head master s /_plugin/head/
frclogmaster01 license 2.3.0 j
frclogmaster01 marvel-agent 2.3.0 j

```

---

<div class="post-metadata">

**Author:** ![pickypg](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/pickypg/32/62409_2.png) [@pickypg](https://discuss.elastic.co/u/pickypg)\
**Post date:** [April 4, 2016, 9:06pm UTC](https://discuss.elastic.co/t/basic-license-fails-to-install/46264/6 "2016-04-04T21:06:04Z")

</div>

Hi Ethan,

It looks like there may be an inconsistency with the Graph plugin being installed on some but not all nodes. Regardless, since the Basic license does not apply to the Graph plugin, I believe that uninstalling the Graph plugin from those nodes (and restarting each node so that it takes effect) will resolve the issue.

---

<div class="post-metadata">

**Author:** ![ethan.daugherty](https://avatars.discourse-cdn.com/v4/letter/e/b9e5f3/32.png) [@ethan.daugherty](https://discuss.elastic.co/u/ethan.daugherty)\
**Post date:** [April 4, 2016, 10:02pm UTC](https://discuss.elastic.co/t/basic-license-fails-to-install/46264/7 "2016-04-04T22:02:29Z")

</div>

That worked, thank you!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 1:44pm UTC](https://discuss.elastic.co/t/basic-license-fails-to-install/46264/8 "2017-07-06T13:44:36Z")

</div>


