spark-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Fran├žois Garillot (JIRA) <j...@apache.org>
Subject [jira] [Commented] (SPARK-5147) write ahead logs from streaming receiver are not purged because cleanupOldBlocks in WriteAheadLogBasedBlockHandler is never called
Date Fri, 16 Jan 2015 09:45:34 GMT

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

Fran├žois Garillot commented on SPARK-5147:
------------------------------------------

I see. Thanks for your answers !

For the locality issue, how about running recovery from the WAL as if it was replication ?
In that sense, we would be using the WAL's HDFS write as a transport mechanism (as it will
replicate on 2 other executors), and the recreating a block at the end point. Perhaps it's
worth noting this idea in a JIRA as a possible future enhancement ?

> 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: Sub-task
>          Components: Streaming
>    Affects Versions: 1.2.0
>            Reporter: Max Xu
>            Priority: Blocker
>
> 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


Mime
View raw message