catalogue: a contribution reaches the port its own machine published, from any machine
The co-located fix could not reach a grant assembled for a consumer on another machine: ContributionsFrom never sees a port map, so the proxy was told the workload's software port and dialled a number that machine never published. The consumer's own assignments are fetched where the grant is built and applied there. The same fault as 038, one node over. Claude-Session: https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
This commit is contained in:
@@ -627,6 +627,15 @@ func grantsFor(ctx context.Context, open *stores, node string) ([]catalogue.Gran
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// A port in there is the consumer's software port until this. The consumer is on another
|
||||
// machine, so the assignment that moved it is that machine's — fetched here rather than
|
||||
// looked for in this one's, which is the whole reason the co-located fix could not reach
|
||||
// this case (novox/hq 04-ISSUES/038, the cross-node half).
|
||||
published, err := portsOn(ctx, inv, s.Consumer, s.ConsumerModule)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
values = catalogue.AtPublishedPort(values, s.ConsumerModule, published)
|
||||
from := s.ConsumerModule
|
||||
if !asks {
|
||||
// That module no longer wants this. Left empty, which is what the declaration reads
|
||||
|
||||
Reference in New Issue
Block a user