Git Product home page Git Product logo

Comments (6)

junkaixue avatar junkaixue commented on September 16, 2024

@wmorgan6796 did you use the API create/delete resource?

For partition placement, change ResourceConfig does not work. It should be something in IdealState. You should update Ideal with the right partition number.

from helix.

wmorgan6796 avatar wmorgan6796 commented on September 16, 2024

I changed both the ideal state and the resource config

from helix.

junkaixue avatar junkaixue commented on September 16, 2024

@wmorgan6796 Is this cluster in normal state?

Means: 1) has a live controller
2) resource not disabled
3) cluster is not in maintenance mode
4) for WAGED rebalanced, not enough capacity for the cluster.
...

There are multiple cases can lead the partition not change. This requires some understand and debug with your controller log.

from helix.

junkaixue avatar junkaixue commented on September 16, 2024

Any update for this? @wmorgan6796

from helix.

wmorgan6796 avatar wmorgan6796 commented on September 16, 2024

Sorry I’ve been on leave for a bit and haven’t had time to come back to this.

but to answer the question:

Cluster was working
Cluster was not disabled, though we had disabled it before and after making the change.
Maintenance mode was not on in the cluster
There was plenty of capacity in the cluster.

from helix.

junkaixue avatar junkaixue commented on September 16, 2024

Interesting. I cannot reproduce it in my local. One possible situation could be you add/delete the same resource very close and almost same time. But the controller is busy with handling other notification.

Helix use selective update for the metadata:

  1. The delete will trigger a child change for ZK.
  2. The add will trigger another child change.
  3. But if these two operations are close. Then controller will see the child change event and when read data from ZK, the IS already added back. So controller thinks there is no change.

Even your number of partition has been changed, from ZK PoV, it is not data change and will not trigger refresh of data.

In this case, either you can create the resource with different name like add some version to differentiate resource. Or add logic to make sure participants start dropping partitions then create the new ones with same name.

@wmorgan6796

from helix.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.