Thanks Wei-Chiu,

I feel now IBR is more stable in branch 3.x. If BR is just added to prevent
bugs in IBR, I feel we should fix such bug in IBR. Adding one new
functionality to prevent bug in other is not good.

I also thing, DN should send BR in failure and process start scenario only.

-Surendra

On Fri, Feb 7, 2020 at 10:52 AM Ayush Saxena <ayush...@gmail.com> wrote:

> Hi Wei-Chiu,
> Thanx for the response.
> Yes, We are talking about the FBR only.
> Increasing the frequency limits the problem, but doesn’t seems to be
> solving it. With increasing cluster size, the frequency needs to be
> increased, and we cannot increase it indefinitely, as in some case FBR is
> needed.
> One such case is Namenode failover, In case of failover the namenode marks
> all the storages as Stale, it would correct them only once FBR comes, Any
> overreplicated blocks won’t be deleted until the storages are in stale
> state.
>
> Regarding the IBR error, the block is set Completed post IBR, when the
> client claimed value and IBR values matches, so if there is a discrepancy
> here, it would alarm out there itself.
>
> If it passes over this spot, so the FBR would also be sending the same
> values from memory, it doesn’t check from the actual disk.
> DirectoryScanner would be checking if the in memory data is same as that
> on the disk.
> Other scenario where FBR could be needed is to counter a split brain
> scenario, but with QJM’s that is unlikely to happen.
>
> In case of any connection losses during the interval, we tend to send the
> BR, so should be safe here.
>
> Anyway if a client gets hold of a invalid block, it will too report to the
> Namenode.
>
> Other we cannot think as such, where not sending FBR can cause any issue.
>
> Let us know your thoughts on this..
>
> -Ayush
>
> >>> On 07-Feb-2020, at 4:12 AM, Wei-Chiu Chuang <weic...@apache.org>
> wrote:
> >> Hey Ayush,
> >>
> >> Thanks a lot for your proposal.
> >>
> >> Do you mean the Full Block Report that is sent out every 6 hours per
> >> DataNode?
> >> Someone told me they reduced the frequency of FBR to 24 hours and it
> seems
> >> okay.
> >>
> >> One of the purposes of FBR was to prevent bugs in incremental block
> report
> >> implementation. In other words, it's a fail-safe mechanism. Any bugs in
> >> IBRs get corrected after a FBR that refreshes the state of blocks at
> >> NameNode. At least, that's my understanding of FBRs in its early days.
> >>
> >> On Tue, Feb 4, 2020 at 12:21 AM Ayush Saxena <ayush...@gmail.com>
> wrote:
> >>
> >> Hi All,
> >> Me and Surendra have been lately trying to minimise the impact of Block
> >> Reports on Namenode in huge cluster. We observed in a huge cluster,
> about
> >> 10k datanodes, the periodic block reports impact the Namenode
> performance
> >> adversely.
> >> We have been thinking to restrict the block reports to be triggered only
> >> during Namenode startup or in case of failover and eliminate the
> periodic
> >> block report.
> >> The main purpose of block report is to get a corrupt blocks recognised,
> so
> >> as a follow up we can maintain a service at datanode to run
> periodically to
> >> check if the block size in memory is same as that reported to namenode,
> and
> >> the datanode can alarm the namenode in case of any suspect,(We still
> need
> >> to plan this.)
> >>
> >> At the datanode side, a datanode can send a BlockReport or restore its
> >> actual frequency in case during the configured time period, the Datanode
> >> got shutdown or lost connection with the namenode, say if the datanode
> was
> >> supposed to send BR at 2100 hrs, if during the last 6 hrs there has been
> >> any failover or loss of connection between the namenode and datanode, it
> >> will trigger BR normally, else shall skip sending the BR
> >>
> >> Let us know thoughts/challenges/improvements in this.
> >>
> >> -Ayush
> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: hdfs-dev-unsubscr...@hadoop.apache.org
> >> For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org
>

Reply via email to