Hayden Marchant created ACCUMULO-2944: -----------------------------------------
Summary: Generated configuration files and scripts assume SUN as JVM Key: ACCUMULO-2944 URL: https://issues.apache.org/jira/browse/ACCUMULO-2944 Project: Accumulo Issue Type: Sub-task Affects Versions: 1.6.0 Environment: IBM JVM Reporter: Hayden Marchant Fix For: 1.6.1, 1.7.0 There are a few issues, detailed below: a. The generated configuration files contain references to GC params that are specific to Sun JVM. In accumulo-env.sh, the ACCUMULO_TSERVER_OPTS contains -XX:NewSize and -XX:MaxNewSize , and also in ACCUMULO_GENERAL_OPTS, -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 are used. b. in bin/accumulo, get ClassNotFoundException due to specification of JAXP Doc Builder: -Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl . The Sun implementation of Document Builder Factory does not exists in IBM JDK, so a ClassNotFoundException is thrown on running accumulo script c. MiniAccumuloCluster - in the MiniAccumuloClusterImpl, Sun-speciifc GC params are passed as params to the java process (similar to section a. ) Single proposal for solving all 3 issues: Enhance bootstrap_config.sh with request to select Java vendor. Selecting this will set correct values for GC params (they differ between IBM and Sun), inclusion/ommision of JAXP setting. The MiniAccumuloClusterImpl can read the same env variable that was set in code for the GC Params, and use in the exec command. For exampel, doing this will result in CMS settings existing for SUN JVM, but when using IBM JVM, the relevant GC parameter for IBM JVM will be used instead. In addition, the SUN JAXP implementation will be omitted on non-SUN JVM. For now, I plan on having 4 options in new question 1. Sun 2. OpenJDK 3. IBM 4. Other -- This message was sent by Atlassian JIRA (v6.2#6252)