On 5/7/2018 8:22 AM, Bernd Fehling wrote:
> thanks for asking, I figured it out this morning.
> If setting -Xloggc=<log_file> the option -XX:+PrintGCTimeStamps will be set
> as default and can't be disabled. It's inside JAVA.
>
> Currently using Solr 6.4.2 with
> Java HotSpot(TM) 64-Bit Server VM (25.121-b13) for linux-amd64 JRE 
> (1.8.0_121-b13)

What is the end goal that has you trying to disable PrintGCTimeStamps? 
Is it to reduce the size of the GC log by only including one timestamp,
or something else?

Running java 1.8.0_144, I cannot seem to actually do it.  I tried
removing the parameter from the start script, and I also tried
*changing* the parameter to explicitly disable it:

     -XX:-PrintGCTimeStamps

Both times, I verified that the commandline had changed.  GC logging
still includes both the full date stamp, which PrintGCDateStamps
enables, and seconds since JVM start, which PrintGCTimeStamps enables.

For the attempt where I changed the parameter instead of removing it,
this is the full commandline on the running java process that the start
script executed:

"C:\Program Files\Java\jdk1.8.0_144\bin\java"  -server -Xms512m -Xmx512m
-Duser.timezone=UTC -XX:NewRatio=3    -XX:SurvivorRatio=4   
-XX:TargetSurvivorRatio=90    -XX:MaxTenuringThreshold=8   
-XX:+UseConcMarkSweepGC    -XX:ConcGCThreads=4
-XX:ParallelGCThreads=4    -XX:+CMSScavengeBeforeRemark   
-XX:PretenureSizeThreshold=64m    -XX:+UseCMSInitiatingOccupancyOnly   
-XX:CMSInitiatingOccupancyFraction=50   
-XX:CMSMaxAbortablePrecleanTime=6000    -XX:+CMSParallelRemarkEnabled   
-XX:+ParallelRefProcEnabled    -XX:-OmitStackTraceInFastThrow
-verbose:gc      -XX:+PrintHeapAtGC      -XX:+PrintGCDetails     
-XX:-PrintGCTimeStamps      -XX:+PrintGCDateStamps     
-XX:+PrintTenuringDistribution      -XX:+PrintGCApplicationStoppedTime
"-Xloggc:C:\Users\sheisey\Downloads\solr-7.3.0\server\logs\solr_gc.log"
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=9 -XX:GCLogFileSize=20M
-Xss256k 
-Dsolr.log.dir="C:\Users\sheisey\Downloads\solr-7.3.0\server\logs"    
-Dlog4j.configuration="file:C:\Users\sheisey\Downloads\solr-7.3.0\server\resources\log4j.properties"
-DSTOP.PORT=7983 -DSTOP.KEY=solrrocks     -Dsolr.log.muteconsole    
-Dsolr.solr.home="C:\Users\sheisey\Downloads\solr-7.3.0\server\solr"
-Dsolr.install.dir="C:\Users\sheisey\Downloads\solr-7.3.0"
-Dsolr.default.confdir="C:\Users\sheisey\Downloads\solr-7.3.0\server\solr\configsets\_default\conf"
    
-Djetty.host=0.0.0.0 -Djetty.port=8983
-Djetty.home="C:\Users\sheisey\Downloads\solr-7.3.0\server"    
-Djava.io.tmpdir="C:\Users\sheisey\Downloads\solr-7.3.0\server\tmp" -jar
start.jar "--module=http" ""

That change should have done it.  I think we're dealing with a Java
bug/misfeature.

Solr 5.5.5 with Java 1.7.0_80, 1.7.0_45, and 1.7.0_04 behave the same as
7.3.0 with Java 8.  I have also verified that Solr 4.7.2 with Java
1.7.0_72 has the same issue.  I do not have any information for Java 6
versions.  All java versions examined are from Sun/Oracle.

I filed a bug with Oracle.  They have accepted it and it is now visible
publicly.

https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8202752

Thanks,
Shawn

Reply via email to