[
https://issues.apache.org/jira/browse/RATIS-1786?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Xinyu Tan updated RATIS-1786:
-----------------------------
Description: Digester of the Follower only calls `digester.get().digest()`
to get an MD5 and reset the engine when a file is completed. However, if the
client does not complete the file transmission when the streaming time expires,
digester is not reset during subsequent snapshot transfers. Therefore, a
different md5 value is calculated, causing the installSnapshot to fail forever.
(was: Digester of the Follower only calls `digester.get().digest()` to get an
MD5 and reset the engine when a file is completed. However, if the client does
not complete the file transmission when the streaming time expires, digester is
not reset during subsequent snapshot transfers. Therefore, a different md5
value is calculated, causing the snapshot to fail forever. )
> Reset the digester of the follower at the beginning of each file transfer
> during a InstallSnapshot to avoid snapshot transfer failure
> -------------------------------------------------------------------------------------------------------------------------------------
>
> Key: RATIS-1786
> URL: https://issues.apache.org/jira/browse/RATIS-1786
> Project: Ratis
> Issue Type: Bug
> Components: server
> Reporter: Xinyu Tan
> Assignee: Xinyu Tan
> Priority: Major
> Time Spent: 40m
> Remaining Estimate: 0h
>
> Digester of the Follower only calls `digester.get().digest()` to get an MD5
> and reset the engine when a file is completed. However, if the client does
> not complete the file transmission when the streaming time expires, digester
> is not reset during subsequent snapshot transfers. Therefore, a different md5
> value is calculated, causing the installSnapshot to fail forever.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)