One final thought: How to you stop the unbounded streaming application?

If you just kill the Yarn/Mesos/K8s cluster, Flink will not know that this
is a shutdown, and interpret it as a failure. Because of that, checkpoints
will remain (in DFS and in ZooKeeper).

On Fri, Aug 31, 2018 at 2:18 PM, vino yang <yanghua1...@gmail.com> wrote:

> Hi Laura:
>
> Perhaps this is possible because the path to the completed checkpoint on
> HDFS does not have a hierarchical relationship to identify which job it
> belongs to, it is just a fixed prefix plus a random string generated name.
> My personal advice:
>
> 1) Verify it with a clean cluster (clean up the metadata that
> Flink/Zookeeper/HDFS might confuse);
> 2) Verify the node and metadata information (/checkpoints/${jobID}/) on
> ZooKeeper;
> 3) Observe whether there is relevant abnormal information in the log;
>
> Thanks, vino.
>
> Laura Uzcátegui <laura.uzcateg...@gmail.com> 于2018年8月31日周五 下午3:51写道:
>
>> Hi Stephan and Vino,
>>
>> Thanks for the quick reply and hints.
>>
>> The configuration for the checkpoints that should remain is set to 1.
>>
>> Since this is a unbounded job run and I can't see it finishing, I suspect
>> as we tear down the cluster every time we finish with the integration test
>> being run, the completedCheckpoint doesn't get deleted, next when the
>> integration test runs again it picks up from the latest completedCheckpoint
>> but there is cases where that job doesn't run again therefore the
>> completedCheckpoint gets staled. Is this something that could happen?
>>
>> Is there anyway to check by logging wether the job gets to Global Final
>> State before we tear down the cluster?
>>
>> Cheers,
>>
>> Laura
>>
>> On Fri, 31 Aug 2018, 8:37 am Stephan Ewen, <se...@apache.org> wrote:
>>
>>> Hi Laura!
>>>
>>> Vino had good pointers. There really should be no case in which this is
>>> not cleaned up.
>>>
>>> Is this a bounded job that ends? Is it always the last of the bounded
>>> job's checkpoints that remains?
>>>
>>> Best,
>>> Stephan
>>>
>>>
>>> On Fri, Aug 31, 2018 at 5:02 AM, vino yang <yanghua1...@gmail.com>
>>> wrote:
>>>
>>>> Hi Laura,
>>>>
>>>> First of all, Flink only keeps one completed checkpoint by default[1].
>>>> You need to confirm whether your configuration is consistent with the
>>>> number of files. If they are consistent, it is for other reasons:
>>>>
>>>> 1) The cleaning of the completed checkpoint is done by JM. You need to
>>>> confirm whether it can access your file.[2]
>>>> 2) JM will asynchronously clean up the metadata of the old completed
>>>> checkpoint on the ZK with a background thread. After the cleanup is
>>>> successful, it will clean the Checkpoint data. If the above reasons are
>>>> excluded, then maybe you provide JM's log to help us confirm whether this
>>>> is the reason. I think it is more appropriate to ping Till.[3]
>>>>
>>>> [1]: https://ci.apache.org/projects/flink/flink-docs-
>>>> release-1.6/dev/stream/state/checkpointing.html#state-
>>>> checkpoints-num-retained
>>>> [2]: https://stackoverflow.com/questions/44928624/apache-
>>>> flink-not-deleting-old-checkpoints
>>>> [3]: https://github.com/apache/flink/blob/master/
>>>> flink-runtime/src/main/java/org/apache/flink/runtime/zookeeper/
>>>> ZooKeeperStateHandleStore.java#L437
>>>>
>>>> Thanks, vino.
>>>>
>>>> Laura Uzcátegui <laura.uzcateg...@gmail.com> 于2018年8月30日周四 下午10:52写道:
>>>>
>>>>> Hello,
>>>>>
>>>>>  At work, we are currently standing up a cluster with the following
>>>>> configuration:
>>>>>
>>>>>
>>>>>    - Flink version: 1.4.2
>>>>>    - HA Enabled with Zookeeper
>>>>>    - State backend : rocksDB
>>>>>    - state.checkpoints.dir: hdfs://namenode:9000/flink/checkpoints
>>>>>    - state.backend.rocksdb.checkpointdir: hdfs://namenode:9000/flink/
>>>>>    checkpoints
>>>>>    - *high-availability.storageDir*: hdfs://namenode:9000/flink/
>>>>>    recovery
>>>>>
>>>>> We have also a job running with checkpointing enabled and without
>>>>> externalized checkpoint.
>>>>>
>>>>> We run this job multiple times a day since it's run from our
>>>>> integration-test pipeline, and we started noticing the folder
>>>>> *high-availability.storageDir  *storing the completedCheckpoint files
>>>>> is increasing constantly the number of files created, which is making us
>>>>> wonder if there is no cleanup policy for the Filesystem when HA is 
>>>>> enabled.
>>>>>
>>>>> Under what  circumstance would there be an ever increasing number of
>>>>> completedCheckpoint files on the HA storage dir when there is only a 
>>>>> single
>>>>> job running over and over again ?
>>>>>
>>>>> Here is a list of what we are seeing accumulating over time and
>>>>> actually reaching the maximum of files allowed on the Filesystem.
>>>>>
>>>>> completedCheckpoint00d86c01d8b9
>>>>> completedCheckpoint00d86e9030a9
>>>>> completedCheckpoint00d877b74355
>>>>> completedCheckpoint00d87b3dd9ad
>>>>> completedCheckpoint00d8815d9afd
>>>>> completedCheckpoint00d88973195c
>>>>> completedCheckpoint00d88b4792f2
>>>>> completedCheckpoint00d890d499dc
>>>>> completedCheckpoint00d91b00ada2
>>>>>
>>>>>
>>>>> Cheers,
>>>>>
>>>>>
>>>>> Laura U.
>>>>>
>>>>>
>>>

Reply via email to