GGraziadei commented on issue #9016: URL: https://github.com/apache/storm/issues/9016#issuecomment-5687265323
Alert: original idea, text refactored using GPT 5.6 Hi @dpol1, your proposal looks good, and yes, you can give it a try. I’d just like to add an alternative approach, based on how a similar problem is solved with MPLS. In MPLS, we need to guarantee that if one hop becomes unreachable, the routing path can be automatically repaired. This requires maintaining exactly the right tracking information of prefix. The idea is quite simple: 1. Compute all possible paths through the DAG, from sources to sinks. 2. Define a lookup table and distribute it to the bolts. The table maps a tuple `(prefix, nextStreamOut)` to a specific label, where the label represents the prefix for the next hop. 3. Swap the label according to the lookup table. That’s all. I asked Claude to generate a simulation of the LFIB labeling system, partly for the “wow effect” of having a graphical representation :-) https://claude.ai/artifact/7jVVbXG3PEfwpBfRADreWQ?utm_source Try simulating a “happy path”. If a tuple has label `0x0007`, the path is: `urls → fetch → parse → index → sink` For `0x0006`, another possible path is: `urls → fetch → status → sink` If, for example, a tuple times out on `status`, I would expect it to be associated with label `0x0003`. The advantages are: 1. The swap operation is essentially free — you can place it wherever you suggested. 2. The tracking function does not depend on the topology. 3. The lookup table is pre-computed at submission time. what do you think? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
