Skip to content

Refactor custom Fate tests - #6548

Open
Amemeda wants to merge 4 commits into
apache:mainfrom
Amemeda:5837-refactor-fate-tests
Open

Amemeda wants to merge 4 commits into
apache:mainfrom
Amemeda:5837-refactor-fate-tests

Conversation

@Amemeda

@Amemeda Amemeda commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

Refactored custom fate test files for maintainability according to the linked issue. The group of custom test files were moved into their own subpackage test.src.main.java.org.apache.accumulo.test.fate.custom, and 2 new files CustomFate.java and CustomFateManager.java were created to act as a super class to the following test classes:

Custom FATE test objects
Super class CustomFate.java

  • FlakyFate.java
  • FastFate.java
  • SlowFateSplit.java

Custom Manager test objects
Super class CustomFateManager.java

  • FlakyFateManager.java
  • SlowFateSplitManager.java
image

closes #5837

@Amemeda
Amemeda marked this pull request as ready for review September 18, 2026 17:48
import org.apache.accumulo.manager.tableOps.FateEnv;
import org.apache.accumulo.server.ServerContext;

public class CustomFateManager extends Manager {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think we should make CustomFateManager abstract. That way future implementations are forced to override the createFateInstance() method. Right now if a new impl is created and someone forgets to override they will get the hardcoded SlowFateSplit which might not be intended.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fixed in 2cbbf2b

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Sorry I didn't explain super well but createFateInstance() should also be abstract so we are not returning the SlowFateSplit. Thats the important part so implementations are forced to decide what to return instead of accidentally returning SlowFateSplit.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

FATE tests organization/maintainability improvement

2 participants