You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Saisai Shao (JIRA)" <ji...@apache.org> on 2015/01/09 08:30:35 UTC

[jira] [Comment Edited] (SPARK-5147) write ahead logs from streaming receiver are not purged because cleanupOldBlocks in WriteAheadLogBasedBlockHandler is never called

    [ https://issues.apache.org/jira/browse/SPARK-5147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14270574#comment-14270574 ] 

Saisai Shao edited comment on SPARK-5147 at 1/9/15 7:29 AM:
------------------------------------------------------------

Hi Max,

I think this is a left problem for the current WAL mechanism, because previous old block deletion mechanism is different (reply on rdd's unpersist to clean the old data), so there's no driver-executor communication in streaming code logic for this mechanism. Yes, that is indeed a problem, I will look through the problem and try to figure out a solution. Thanks a lot.


was (Author: jerryshao):
Hi Max,

I think this is a left problem for the current WAL mechanism, because previous old block deletion mechanism is different (reply on rdd's unpersist on clean the old data), so there's no driver-executor communication in streaming code logic for this mechanism. Yes, that is indeed a problem, I will look through the problem and try to figure out a solution. Thanks a lot.

> write ahead logs from streaming receiver are not purged because cleanupOldBlocks in WriteAheadLogBasedBlockHandler is never called
> ----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SPARK-5147
>                 URL: https://issues.apache.org/jira/browse/SPARK-5147
>             Project: Spark
>          Issue Type: Bug
>          Components: Streaming
>    Affects Versions: 1.2.0
>            Reporter: Max Xu
>
> Hi all,
> We are running a Spark streaming application with ReliableKafkaReceiver. We have "spark.streaming.receiver.writeAheadLog.enable" set to true so write ahead logs (WALs) for received data are created under receivedData/streamId folder in the checkpoint directory. 
> However, old WALs are never purged by time. receivedBlockMetadata and checkpoint files are purged correctly though. I went through the code, WriteAheadLogBasedBlockHandler class in ReceivedBlockHandler.scala is responsible for cleaning up the old blocks. It has method cleanupOldBlocks, which is never called by any class. ReceiverSupervisorImpl class holds a WriteAheadLogBasedBlockHandler  instance. However, it only calls storeBlock method to create WALs but never calls cleanupOldBlocks method to purge old WALs.
> The size of the WAL folder increases constantly on HDFS. This is preventing us from running the ReliableKafkaReceiver 24x7. Can somebody please take a look.
> Thanks,
> Max



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org