Hi,

I'm running Spark Streaming with Kafka Direct Stream, batch interval
is 10 seconds.
After running about 72 hours, the batch processing time almost doubles.
I didn't find anything wrong on JVM GC logs, but I did find that
broadcast variable reading time increasing, like this:

initially:

```
16/06/08 18:17:02 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 0 took 223 ms
16/06/08 18:17:08 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 2 took 73 ms
16/06/08 18:17:10 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 3 took 13 ms
16/06/08 18:17:11 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 4 took 9 ms
16/06/08 18:17:12 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 5 took 8 ms
16/06/08 18:17:14 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 6 took 13 ms
16/06/08 18:17:15 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 8 took 7 ms
16/06/08 18:17:16 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 10 took 8 ms
16/06/08 18:17:20 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 12 took 6 ms
16/06/08 18:17:20 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 13 took 7 ms
```

after 23 hours:

```
16/06/09 17:23:43 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 282938 took 18 ms
16/06/09 17:23:43 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 282939 took 20 ms
16/06/09 17:23:43 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 282940 took 20 ms
16/06/09 17:23:43 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 282941 took 14 ms
16/06/09 17:23:44 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 282942 took 17 ms
16/06/09 17:23:45 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 282943 took 18 ms
16/06/09 17:23:45 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 282944 took 14 ms
16/06/09 17:23:45 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 282945 took 18 ms
16/06/09 17:23:45 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 282946 took 14 ms
16/06/09 17:23:45 INFO broadcast.TorrentBroadcast: Reading broadcast
variable 282947 took 18 ms
```

FYI, we're running on AWS EMR with Spark version 1.6.1, in YARN client mode.

application environment follows:

```
Java Home /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.101.x86_64/jre
Java Version 1.7.0_101 (Oracle Corporation)
Scala Version version 2.10.5

spark.app.id application_1463430559850_0056
spark.cleaner.ttl 60
spark.default.parallelism 96
spark.driver.appUIAddress http://172.16.4.168:4041
spark.driver.extraClassPath
/etc/hadoop/conf:/usr/lib/hadoop-lzo/lib/*:/usr/share/aws/aws-java-sdk/*:/usr/share/aws/emr/emrfs/conf:/usr/share/aws/emr/emrfs/lib/*:/usr/share/aws/emr/emrfs/auxlib/*
spark.driver.extraJavaOptions
-Dlog4j.configuration=file:///etc/spark/conf/log4j.properties
-XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70
-XX:MaxHeapFreeRatio=70 -XX:+CMSClassUnloadingEnabled
-XX:MaxPermSize=512M -XX:OnOutOfMemoryError='kill -9 %p'
spark.driver.extraLibraryPath
/usr/lib/hadoop/lib/native:/usr/lib/hadoop-lzo/lib/native
spark.driver.host 172.16.4.168
spark.driver.port 42142
spark.dynamicAllocation.enabled false
spark.eventLog.compress true
spark.eventLog.dir hdfs:///var/log/spark/apps
spark.eventLog.enabled false
spark.executor.cores 8
spark.executor.extraClassPath
/etc/hadoop/conf:/usr/lib/hadoop-lzo/lib/*:/usr/share/aws/aws-java-sdk/*:/usr/share/aws/emr/emrfs/conf:/usr/share/aws/emr/emrfs/lib/*:/usr/share/aws/emr/emrfs/auxlib/*
spark.executor.extraJavaOptions -verbose:gc -XX:+PrintGCDetails
-XX:+PrintGCDateStamps -XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=70 -XX:MaxHeapFreeRatio=70
-XX:+CMSClassUnloadingEnabled -XX:OnOutOfMemoryError='kill -9 %p'
spark.executor.extraLibraryPath
/usr/lib/hadoop/lib/native:/usr/lib/hadoop-lzo/lib/native
spark.executor.id driver
spark.executor.instances 24
spark.executor.memory 6G
spark.externalBlockStore.folderName spark-9ede6685-a7f9-4d65-bfb4-0920e8c5ba25
spark.history.fs.cleaner.enabled true
spark.history.fs.cleaner.maxAge 2d
spark.history.fs.logDirectory hdfs:///var/log/spark/apps
spark.history.ui.port 18080
spark.master yarn-client
spark.org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpFilter.param.PROXY_HOSTS
ip-172-16-4-168.ec2.internal
spark.org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpFilter.param.PROXY_URI_BASES
http://ip-172-16-4-168.ec2.internal:20888/proxy/application_1463430559850_0056
spark.scheduler.mode FAIR
spark.serializer org.apache.spark.serializer.KryoSerializer
spark.shuffle.service.enabled false
spark.streaming.backpressure.enabled true
spark.streaming.concurrentJobs 2
spark.streaming.kafka.maxRatePerPartition 312
spark.streaming.ui.retainedBatches 1000
spark.submit.deployMode client
spark.ui.filters org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpFilter
spark.ui.retainedJobs 1000
spark.ui.retainedStages 1000
spark.yarn.executor.memoryOverhead 4096
spark.yarn.historyServer.address ip-172-16-4-168.ec2.internal:18080

SPARK_SUBMIT true
SPARK_YARN_MODE true
awt.toolkit sun.awt.X11.XToolkit
file.encoding UTF-8
file.encoding.pkg sun.io
file.separator /
java.awt.graphicsenv sun.awt.X11GraphicsEnvironment
java.awt.printerjob sun.print.PSPrinterJob
java.class.version 51.0
java.endorsed.dirs
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.101.x86_64/jre/lib/endorsed
java.ext.dirs 
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.101.x86_64/jre/lib/ext:/usr/java/packages/lib/ext
java.home /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.101.x86_64/jre
java.io.tmpdir /tmp
java.library.path
/usr/lib/hadoop/lib/native:/usr/lib/hadoop-lzo/lib/native:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
java.runtime.name OpenJDK Runtime Environment
java.runtime.version 1.7.0_101-mockbuild_2016_04_26_18_10-b00
java.specification.name Java Platform API Specification
java.specification.vendor Oracle Corporation
java.specification.version 1.7
java.vendor Oracle Corporation
java.vendor.url http://java.oracle.com/
java.vendor.url.bug http://bugreport.sun.com/bugreport/
java.version 1.7.0_101
java.vm.info mixed mode
java.vm.name OpenJDK 64-Bit Server VM
java.vm.specification.name Java Virtual Machine Specification
java.vm.specification.vendor Oracle Corporation
java.vm.specification.version 1.7
java.vm.vendor Oracle Corporation
java.vm.version 24.95-b01
line.separator
log4j.configuration file:///etc/spark/conf/log4j.properties
os.arch amd64
os.name Linux
os.version 4.4.5-15.26.amzn1.x86_64
path.separator :
sun.arch.data.model 64
sun.boot.class.path
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.101.x86_64/jre/lib/resources.jar:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.101.x86_64/jre/lib/rt.jar:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.101.x86_64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.101.x86_64/jre/lib/jsse.jar:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.101.x86_64/jre/lib/jce.jar:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.101.x86_64/jre/lib/charsets.jar:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.101.x86_64/jre/lib/rhino.jar:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.101.x86_64/jre/lib/jfr.jar:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.101.x86_64/jre/classes
sun.boot.library.path
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.101.x86_64/jre/lib/amd64
sun.cpu.endian little
sun.cpu.isalist
sun.io.unicode.encoding UnicodeLittle
sun.java.launcher SUN_STANDARD
sun.jnu.encoding UTF-8
sun.management.compiler HotSpot 64-Bit Tiered Compilers
sun.nio.ch.bugLevel
sun.os.patch.level unknown
user.country US
user.dir /home/hadoop
user.home /home/hadoop
user.language en
user.name hadoop
user.timezone UTC
```


--
John Simon

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@spark.apache.org
For additional commands, e-mail: user-h...@spark.apache.org

Reply via email to