Is your feature request related to a problem? Please describe.
The way the RESERVATION_COLUMN currently works for UserFateStore is on creation of every FateId, the RESERVATION_COLUMN is set to a NOT_RESERVED value (the actual value is unimportant). Upon reservation, this value is changed to the reservation, on unreservation, it is changed back to NOT_RESERVED.
Describe the solution you'd like
This should be refactored to instead simply create and delete the column on reserve and unreserve, that is, only the reservation should ever be present in the column. This would simplify the code and would get rid of storing an unneccessary value in the table.
Additional context
I had initially tried to do this but this resulted in an issue noted in this discussion: https://github.com/apache/accumulo/pull/4524#discussion_r1670884720
To ensure the new change still works, MultipleStoresIT.testDeadReservationsCleanup() should be run several times (I would suggest 10). This test should never fail.
Is your feature request related to a problem? Please describe. The way the RESERVATION_COLUMN currently works for UserFateStore is on creation of every FateId, the RESERVATION_COLUMN is set to a NOT_RESERVED value (the actual value is unimportant). Upon reservation, this value is changed to the reservation, on unreservation, it is changed back to NOT_RESERVED.
Describe the solution you'd like This should be refactored to instead simply create and delete the column on reserve and unreserve, that is, only the reservation should ever be present in the column. This would simplify the code and would get rid of storing an unneccessary value in the table.
Additional context I had initially tried to do this but this resulted in an issue noted in this discussion: https://github.com/apache/accumulo/pull/4524#discussion_r1670884720 To ensure the new change still works,
MultipleStoresIT.testDeadReservationsCleanup()
should be run several times (I would suggest 10). This test should never fail.