Skip to content

Update Last Location. Fix #1169 #1616

Merged
ctubbsii merged 3 commits intoapache:mainfrom
Manno15:update_last
Sep 1, 2020
Merged

Update Last Location. Fix #1169 #1616
ctubbsii merged 3 commits intoapache:mainfrom
Manno15:update_last

Conversation

@Manno15
Copy link
Contributor

@Manno15 Manno15 commented May 28, 2020

This the one-line change leftover after the revert of pull request #1453. The rest of those changes will be tested more thoroughly and hopefully can be salvaged. In the meantime, this change fixes the issue without a bunch of the refactoring done in the previous pull request. I apologize for the delay.

I ran the entire IT suite, and I didn't see any relavent breakages from this change besides the one mentioned below.

Also, an AssertNull was removed from the MasterAssignmentIT. Let me know if that is acceptable or if I need to refactor that IT further.

@ivakegg
Copy link
Contributor

ivakegg commented Jun 9, 2020

Shouldn't this include a revert of the previous revert?

@Manno15
Copy link
Contributor Author

Manno15 commented Jun 9, 2020

I am not sure I folllow what you mean. Sorry.

@milleruntime
Copy link
Contributor

Shouldn't this include a revert of the previous revert?

I don't think so. He pulled out this one line from the previous change (which included too many other changes that broke the build).

@Manno15
Copy link
Contributor Author

Manno15 commented Jun 15, 2020

I am currently working on getting those other changes to build but this one should be good to go.

@ivakegg ivakegg requested a review from keith-turner June 23, 2020 13:36
Copy link
Contributor

@ivakegg ivakegg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@milleruntime
Copy link
Contributor

milleruntime commented Jul 1, 2020

I am in the process of running all the ITs. I want to make sure this change wasn't part of problem which forced us to revert.

Copy link
Contributor

@milleruntime milleruntime left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this change is OK but I would like for the other build issues in 2.1 to get resolved first before merging.

@ctubbsii
Copy link
Member

I don't currently understand assignments to know what this patch fixes or why it fixes it. Can you add a brief comment here (so that way it can be included in the commit log) to explain what is being fixed, specifically, and why this fix works?

Once we have that, and the ITs pass, I'd be okay with merging it for 2.1 (with that text included in the commit log message when it is merged).

@Manno15
Copy link
Contributor Author

Manno15 commented Jul 29, 2020

The idea behind this change is to guarantee lastLocation gets assigned to the correct location. In my testing, a cluster can fully balance but lastLocation still have its original value, of either null or the location the tablet was initially in. In these instances, if the cluster is taken down and back up, it would go back to its original unbalanced state. This issue was brought up by @ivakegg since the balancing for his larger data set took quite a bit of time to do the entire balancing process. This pull request will ideally alleviate that from happening.

@ctubbsii
Copy link
Member

Thanks. I'm okay with this change... I just wish we had a better grasp on the intended (designed) role that last location played, as distinct from the current location. I don't think that's documented anywhere, and it makes it really hard to address issues in this area.

@ctubbsii ctubbsii changed the base branch from master to main August 6, 2020 06:22
@ctubbsii
Copy link
Member

ctubbsii commented Sep 1, 2020

Have all the ITs been run with this change?

@Manno15
Copy link
Contributor Author

Manno15 commented Sep 1, 2020

They were at the time but not recently.

@ctubbsii
Copy link
Member

ctubbsii commented Sep 1, 2020

I ran the full ITs overnight and everything looks good. I'll merge this today. Thanks, @Manno15 .

@ctubbsii ctubbsii merged commit 1c0f8df into apache:main Sep 1, 2020
asfgit pushed a commit that referenced this pull request Sep 14, 2020
This reverts commit 1c0f8df.

This changed the behavior of updating the LAST location field to update
on assignment, rather than on writing data to DFS. The LAST location
field should be updated when writing data to DFS, because it identifies
the location where the tablet last wrote data, so that a balancing
strategy can re-assign it to a location where at least some data is
local.
@ctubbsii
Copy link
Member

Reverted due to conclusions realized in #1653 (comment)

Manno15 pushed a commit to Manno15/accumulo that referenced this pull request Sep 15, 2020
This reverts commit 1c0f8df.

This changed the behavior of updating the LAST location field to update
on assignment, rather than on writing data to DFS. The LAST location
field should be updated when writing data to DFS, because it identifies
the location where the tablet last wrote data, so that a balancing
strategy can re-assign it to a location where at least some data is
local.
Manno15 pushed a commit to Manno15/accumulo that referenced this pull request Sep 15, 2020
This reverts commit 1c0f8df.

This changed the behavior of updating the LAST location field to update
on assignment, rather than on writing data to DFS. The LAST location
field should be updated when writing data to DFS, because it identifies
the location where the tablet last wrote data, so that a balancing
strategy can re-assign it to a location where at least some data is
local.
@Manno15 Manno15 deleted the update_last branch June 30, 2021 20:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants