{"_id":"5a8fae0468264c001f20cc39","category":{"_id":"5a8fae0368264c001f20cc04","version":"5a8fae0268264c001f20cc00","project":"5633ebff7e9e880d00af1a53","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-05-31T04:26:39.925Z","from_sync":false,"order":5,"slug":"versions","title":"Bonsai.io Platform"},"project":"5633ebff7e9e880d00af1a53","user":"5636bfbf0441020d0000ea03","parentDoc":null,"version":{"_id":"5a8fae0268264c001f20cc00","project":"5633ebff7e9e880d00af1a53","__v":4,"createdAt":"2018-02-23T06:00:34.961Z","releaseDate":"2018-02-23T06:00:34.961Z","categories":["5a8fae0268264c001f20cc01","5a8fae0268264c001f20cc02","5a8fae0368264c001f20cc03","5a8fae0368264c001f20cc04","5a8fae0368264c001f20cc05","5a8fae0368264c001f20cc06","5a8fae0368264c001f20cc07","5a8fae0368264c001f20cc08","5a8fae0368264c001f20cc09","5abaa7eb72d6dc0028a07bf3","5b8ee7842790f8000333f9ba","5b8ee8f244a21a00034b5cd9"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"2.0.0","version":"2.0"},"githubsync":"","__v":0,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-06-02T08:15:03.992Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":10,"body":"[block:api-header]\n{\n  \"title\": \"Does Bonsai Support Groovy Scripting?\"\n}\n[/block]\nThe [Groovy scripting language](https://en.wikipedia.org/wiki/Groovy_%28programming_language%29) was introduced in Elasticsearch in version 1.4 as a replacement for [MVEL](https://en.wikipedia.org/wiki/MVEL). This replacement was supposed to address a number of security vulnerabilities in MVEL (among other things). However, Groovy also introduced some [serious vulnerabilities](CVE-2015-1427) that led to some [high profile attacks](https://www.theregister.co.uk/2015/03/10/elastic_search_vuln/).\n\nWhile those specific vulnerabilities were ultimately patched, the decision was made that Groovy was not a safe option for [multitenant](doc:architecture-classes) configurations. As a result, Groovy scripting is only enabled for [single tenant](doc:architecture-classes#single-tenant-class) plans.\n[block:callout]\n{\n  \"type\": \"danger\",\n  \"title\": \"Groovy Errors\",\n  \"body\": \"If your app returns errors, containing `ExpressionScriptCompilationException`, it's likely that you need Groovy Scripting enabled on your cluster. This is a feature available on Dedicated and Enterprise plans.\"\n}\n[/block]\nUsers with a Business or Enterprise plan should contact us to get groovy enabled. Users on our multitenant plans can still use dynamic scripting with the faster (but somewhat limited) [Lucene Expressions](https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting-expression.html) language.","excerpt":"","slug":"faq","type":"basic","title":"Frequently Asked Questions"}

Frequently Asked Questions


[block:api-header] { "title": "Does Bonsai Support Groovy Scripting?" } [/block] The [Groovy scripting language](https://en.wikipedia.org/wiki/Groovy_%28programming_language%29) was introduced in Elasticsearch in version 1.4 as a replacement for [MVEL](https://en.wikipedia.org/wiki/MVEL). This replacement was supposed to address a number of security vulnerabilities in MVEL (among other things). However, Groovy also introduced some [serious vulnerabilities](CVE-2015-1427) that led to some [high profile attacks](https://www.theregister.co.uk/2015/03/10/elastic_search_vuln/). While those specific vulnerabilities were ultimately patched, the decision was made that Groovy was not a safe option for [multitenant](doc:architecture-classes) configurations. As a result, Groovy scripting is only enabled for [single tenant](doc:architecture-classes#single-tenant-class) plans. [block:callout] { "type": "danger", "title": "Groovy Errors", "body": "If your app returns errors, containing `ExpressionScriptCompilationException`, it's likely that you need Groovy Scripting enabled on your cluster. This is a feature available on Dedicated and Enterprise plans." } [/block] Users with a Business or Enterprise plan should contact us to get groovy enabled. Users on our multitenant plans can still use dynamic scripting with the faster (but somewhat limited) [Lucene Expressions](https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting-expression.html) language.