{"action":"created","issue":{"url":"https://api.github.com/repos/elastic/elasticsearch/issues/12218","labels_url":"https://api.github.com/repos/elastic/elasticsearch/issues/12218/labels{/name}","comments_url":"https://api.github.com/repos/elastic/elasticsearch/issues/12218/comments","events_url":"https://api.github.com/repos/elastic/elasticsearch/issues/12218/events","html_url":"https://github.com/elastic/elasticsearch/issues/12218","id":94822696,"number":12218,"title":"Fix maven integration tests to work with security manager","user":{"login":"rjernst","id":289412,"avatar_url":"https://avatars.githubusercontent.com/u/289412?v=3","gravatar_id":"","url":"https://api.github.com/users/rjernst","html_url":"https://github.com/rjernst","followers_url":"https://api.github.com/users/rjernst/followers","following_url":"https://api.github.com/users/rjernst/following{/other_user}","gists_url":"https://api.github.com/users/rjernst/gists{/gist_id}","starred_url":"https://api.github.com/users/rjernst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rjernst/subscriptions","organizations_url":"https://api.github.com/users/rjernst/orgs","repos_url":"https://api.github.com/users/rjernst/repos","events_url":"https://api.github.com/users/rjernst/events{/privacy}","received_events_url":"https://api.github.com/users/rjernst/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-07-13T22:03:44Z","updated_at":"2015-07-13T23:19:34Z","closed_at":null,"body":"Maven integration tests currently do not work with security manager. There are a couple easy to fix issues like passing the right system properties to give access to .class files. However, a larger issue is the forked classloader the maven failsafe plugin uses. We can disable this isolated classloader with `useManifestOnlyJar=false`. However, the jars from maven itself then have jar hell (the failsafe api jar and failsafe junit jar have duplicate classes). We might be able to exclude the api jar (assuming the junit jar is a superset of the classes)."},"comment":{"url":"https://api.github.com/repos/elastic/elasticsearch/issues/comments/121088455","html_url":"https://github.com/elastic/elasticsearch/issues/12218#issuecomment-121088455","issue_url":"https://api.github.com/repos/elastic/elasticsearch/issues/12218","id":121088455,"user":{"login":"rjernst","id":289412,"avatar_url":"https://avatars.githubusercontent.com/u/289412?v=3","gravatar_id":"","url":"https://api.github.com/users/rjernst","html_url":"https://github.com/rjernst","followers_url":"https://api.github.com/users/rjernst/followers","following_url":"https://api.github.com/users/rjernst/following{/other_user}","gists_url":"https://api.github.com/users/rjernst/gists{/gist_id}","starred_url":"https://api.github.com/users/rjernst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rjernst/subscriptions","organizations_url":"https://api.github.com/users/rjernst/orgs","repos_url":"https://api.github.com/users/rjernst/repos","events_url":"https://api.github.com/users/rjernst/events{/privacy}","received_events_url":"https://api.github.com/users/rjernst/received_events","type":"User","site_admin":false},"created_at":"2015-07-13T23:19:34Z","updated_at":"2015-07-13T23:19:34Z","body":"I got a little farther in removing jar hell:\r\nhttps://gist.github.com/rjernst/32f1666b8a6fd955e085\r\n\r\nHowever, this surefire/failsafe plugin is just messy. This is the current failure:\r\n```\r\nCaused by: java.lang.IllegalStateException: jar hell!\r\nclass: org.apache.maven.shared.utils.StringUtils\r\njar1: /Users/rjernst/.m2/repository/org/apache/maven/surefire/common-java5/2.18.1/common-java5-2.18.1.jar\r\njar2: /Users/rjernst/.m2/repository/org/apache/maven/shared/maven-shared-utils/0.4/maven-shared-utils-0.4.jar\r\n```\r\n\r\nI'm not sure it is worthwhile to fix this. Security manager is already running for the actual ES server for the tests. This is only for rest test itself (ie the client). One thing to try might be using junit4 as we do for unit tests."}}