Skip to content

Conversation

@avshenuk
Copy link

+ segment deletion when no remaining records left.
@avshenuk avshenuk marked this pull request as ready for review July 25, 2025 07:43
@avshenuk avshenuk marked this pull request as draft July 25, 2025 07:52
@avshenuk
Copy link
Author

avshenuk commented Jul 25, 2025

@xiangfu0 @Jackie-Jiang Wanted to add this new doc when I realized that there is no way to provide those custom implementations of RecordPurger and RecordModifier today from outside?

Then how could one even use this PurgeTask to begin with? What am I missing?

Edit: I could see that you could register them on MinionContext programmatically. But how would the end users do that?

@xiangfu0
Copy link
Collaborator

Can you try to set RecordPurgerFactory in the MinionContext?

@avshenuk
Copy link
Author

avshenuk commented Jul 27, 2025

Can you try to set RecordPurgerFactory in the MinionContext?

But at what stage can you grab that MinionContext and register yourself?

I mean, my class won't be loaded unless its name is explicitly provided like with stream decoders:

String decoderClass = _streamConfig.getDecoderClass();
    try {
      StreamMessageDecoder decoder = PluginManager.get().createInstance(decoderClass);
      decoder.init(fieldsToRead, _streamConfig, _tableConfig, _schema);
      return decoder;
    } catch (Exception e) {
      throw new RuntimeException(
          "Caught exception while creating StreamMessageDecoder from stream config: " + _streamConfig, e);
    }

But in this case there is nothing that can load my custom class? And so, there is no way for me to register myself in the MinionContext?
I'm so confused right now :)

Clearly people are using this task, but I'm really struggling to see how...

Edit: I guess one just need to provide a custom MinionStarter and register it there...

@avshenuk avshenuk marked this pull request as ready for review July 28, 2025 08:15
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.

2 participants