Thrift generated classes need to be moved to manager package
I found a few generated classes in a package that has not been renamed to manager. The are in the package org.apache.accumulo.core.master.thrift. Here are the classes:
- BulkImportState.java
- BulkImportStatus.java
- Compacting.java
- RecoveryStatus.java
- TableInfo.java
- TabletServerStatus.java
The classes seem to all be coming from accumulo/core/src/main/thrift/master.thrift and probably just need to be migrated over to manager.thrift. I am not sure if these should be done in 2.1 or 3.0.
I would suggest 2.1 - there has been a lot of renaming already and it would be nice to have all of those in the rear-view mirror. The major benefit is that I think we have already introduced on-wire changes so this would not be an additional burden.
I agree. My only concern was breaking serialization of these classes. I will do some digging to see if any of the classes are serialized.
These were kept because they were exposed in the TabletBalancer interface. See my comment on #2022 and in the commit log. They can be moved after that deprecated class is removed and we can use its SPI replacement.
These were kept because they were exposed in the TabletBalancer interface. See my comment on #2022 and in the commit log. They can be moved after that deprecated class is removed and we can use its SPI replacement.
What in the TabletBalancer is keeping this from going in 2.1? I just opened #2488
These were kept because they were exposed in the TabletBalancer interface. See my comment on #2022 and in the commit log. They can be moved after that deprecated class is removed and we can use its SPI replacement.
What in the TabletBalancer is keeping this from going in 2.1? I opened just #2488
Just saw that and commented there as well. TabletBalancer is the public API (or at least, it is treated as such, because it is a user-pluggable component). It references TabletServerStatus in one of its public methods, which in turn references these other types transitively.
In other words, changing this will break users. We have a transition plan in place (the new balancer SPI), but it can't be completed until 3.0 when we can drop the current deprecated TabletBalancer.